summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hci/commands/config_cmd.c7
-rw-r--r--src/hci/tui/settings_ui.c12
-rw-r--r--src/include/gpxe/settings_ui.h2
3 files changed, 15 insertions, 6 deletions
diff --git a/src/hci/commands/config_cmd.c b/src/hci/commands/config_cmd.c
index fc21c67f9..a15593913 100644
--- a/src/hci/commands/config_cmd.c
+++ b/src/hci/commands/config_cmd.c
@@ -11,6 +11,7 @@ extern struct nvo_block *ugly_nvo_hack;
static int config_exec ( int argc, char **argv ) {
struct config_context dummy_context;
+ int rc;
if ( argc != 1 ) {
printf ( "Usage: %s\n"
@@ -24,7 +25,11 @@ static int config_exec ( int argc, char **argv ) {
}
dummy_context.options = ugly_nvo_hack->options;
- settings_ui ( &dummy_context );
+ if ( ( rc = settings_ui ( &dummy_context ) ) != 0 ) {
+ printf ( "Could not save settings: %s\n",
+ strerror ( rc ) );
+ return 1;
+ }
return 0;
}
diff --git a/src/hci/tui/settings_ui.c b/src/hci/tui/settings_ui.c
index 7112c0b8d..706fc0212 100644
--- a/src/hci/tui/settings_ui.c
+++ b/src/hci/tui/settings_ui.c
@@ -318,7 +318,7 @@ static void draw_instruction_row ( int editing ) {
}
}
-static void main_loop ( struct config_context *context ) {
+static int main_loop ( struct config_context *context ) {
struct setting_widget widget;
unsigned int current = 0;
unsigned int next;
@@ -379,7 +379,7 @@ static void main_loop ( struct config_context *context ) {
alert ( " Could not save options: %s ",
strerror ( rc ) );
}
- return;
+ return rc;
default:
edit_setting ( &widget, key );
break;
@@ -394,7 +394,9 @@ static void main_loop ( struct config_context *context ) {
}
-void settings_ui ( struct config_context *context ) {
+int settings_ui ( struct config_context *context ) {
+ int rc;
+
initscr();
start_color();
init_pair ( CPAIR_NORMAL, COLOR_WHITE, COLOR_BLUE );
@@ -404,7 +406,9 @@ void settings_ui ( struct config_context *context ) {
color_set ( CPAIR_NORMAL, NULL );
erase();
- main_loop ( context );
+ rc = main_loop ( context );
endwin();
+
+ return rc;
}
diff --git a/src/include/gpxe/settings_ui.h b/src/include/gpxe/settings_ui.h
index 59fc3cbdb..01b8f1728 100644
--- a/src/include/gpxe/settings_ui.h
+++ b/src/include/gpxe/settings_ui.h
@@ -9,6 +9,6 @@
struct config_context;
-extern void settings_ui ( struct config_context *context );
+extern int settings_ui ( struct config_context *context );
#endif /* _GPXE_SETTINGS_UI_H */