summaryrefslogtreecommitdiffstats
path: root/src/hci
diff options
context:
space:
mode:
authorMichael Brown2006-12-20 12:42:48 +0100
committerMichael Brown2006-12-20 12:42:48 +0100
commitcbeec25662029a4362ca484805d60264f9dca8d6 (patch)
tree289b37727ad4136931ea67e1befffc557fbe26cf /src/hci
parentAdd EIO. (diff)
downloadipxe-cbeec25662029a4362ca484805d60264f9dca8d6.tar.gz
ipxe-cbeec25662029a4362ca484805d60264f9dca8d6.tar.xz
ipxe-cbeec25662029a4362ca484805d60264f9dca8d6.zip
settings_ui() now returns a status code.
Diffstat (limited to 'src/hci')
-rw-r--r--src/hci/commands/config_cmd.c7
-rw-r--r--src/hci/tui/settings_ui.c12
2 files changed, 14 insertions, 5 deletions
diff --git a/src/hci/commands/config_cmd.c b/src/hci/commands/config_cmd.c
index fc21c67f..a1559391 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 7112c0b8..706fc021 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;
}