From dea7842fb28ff055b4e0f43a6a1fdaf3c4b5ba89 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Tue, 28 Jan 2014 13:01:19 +0800 Subject: lib/pb-config: Add config_copy At the moment, UIs have the config_set_defaults function to estabilish an initial configuration when performing an update. Rather than using the defaults, this change provides a config_copy() function, so that the updated configuration can be initialised from the current config. With this in place, the UI/server-common pb-config module can be reduced to just the one function. Signed-off-by: Jeremy Kerr --- ui/ncurses/nc-config.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'ui') diff --git a/ui/ncurses/nc-config.c b/ui/ncurses/nc-config.c index 6b29a66..74105f1 100644 --- a/ui/ncurses/nc-config.c +++ b/ui/ncurses/nc-config.c @@ -150,13 +150,13 @@ struct nc_scr *config_screen_scr(struct config_screen *screen) static int screen_process_form(struct config_screen *screen) { const struct system_info *sysinfo = screen->cui->sysinfo; - struct config *config = talloc_zero(screen, struct config); enum net_conf_type net_conf_type; struct interface_config *iface; + struct config *config; char *str, *end; int rc; - config_set_defaults(config); + config = config_copy(screen, screen->cui->config); config->autoboot_enabled = widget_checkbox_get_value(screen->widgets.autoboot_f); @@ -212,6 +212,7 @@ static int screen_process_form(struct config_screen *screen) screen->scr.frame.status = "No IP / mask values are set"; nc_scr_frame_draw(&screen->scr); + talloc_free(config); return -1; } -- cgit v1.2.1