X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ui%2Fncurses%2Fnc-config.c;h=f6d544de3505f2cabf63636e428a1aafb8e951e8;hb=73ee21af6d0a379a104a21b7569331284b3659b7;hp=4b1a58f98ade8635b16b941ee2ab341407b2987d;hpb=742b01687510dd78b3f5e6d3b98b5f420eb70443;p=petitboot diff --git a/ui/ncurses/nc-config.c b/ui/ncurses/nc-config.c index 4b1a58f..f6d544d 100644 --- a/ui/ncurses/nc-config.c +++ b/ui/ncurses/nc-config.c @@ -188,8 +188,8 @@ static int screen_process_form(struct config_screen *screen) const struct system_info *sysinfo = screen->cui->sysinfo; enum net_conf_type net_conf_type; struct interface_config *iface; + char *str, *end, *uuid; struct config *config; - char *str, *end; int rc, idx; config = config_copy(screen, screen->cui->config); @@ -199,8 +199,9 @@ static int screen_process_form(struct config_screen *screen) config->autoboot_enabled = screen->autoboot_type != AUTOBOOT_DISABLED; + uuid = NULL; if (screen->autoboot_type == AUTOBOOT_ONE) { - char mac[20], *uuid = NULL; + char mac[20]; /* if idx is -1 here, we have an unknown UUID selected. * Otherwise, it's a blockdev index (idx <= n_blockdevs) or an @@ -216,13 +217,11 @@ static int screen_process_form(struct config_screen *screen) } else if (idx != -1) { uuid = sysinfo->blockdevs[idx]->uuid; } - - if (uuid) { - talloc_free(config->boot_device); - config->boot_device = talloc_strdup(config, uuid); - } } + talloc_free(config->boot_device); + config->boot_device = uuid ? talloc_strdup(config, uuid) : NULL; + str = widget_textbox_get_value(screen->widgets.timeout_f); if (str) { unsigned long x;