From: Ray Strode Date: Tue, 26 Jan 2010 06:10:09 +0000 (-0500) Subject: [main] Send CTRL-C instead of NULL for password cancel X-Git-Tag: 0.8.0~70 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f57fc3dcc56f4dc9731c1fdef1187a5b30e2ea5b;p=thirdparty%2Fplymouth.git [main] Send CTRL-C instead of NULL for password cancel We'll want to use NULL for "daemon can't ask" --- diff --git a/src/client/plymouth.c b/src/client/plymouth.c index c0695263..2d442947 100644 --- a/src/client/plymouth.c +++ b/src/client/plymouth.c @@ -41,6 +41,8 @@ #define PLY_MAX_COMMAND_LINE_SIZE 512 #endif +#define KEY_CTRL_C ('\100' ^'C') + typedef struct { ply_event_loop_t *loop; @@ -248,7 +250,7 @@ on_password_answer (password_answer_state_t *answer_state, int exit_status; exit_status = 127; - if (answer != NULL) /* a NULL answer means the user quit */ + if (answer != NULL && answer[0] != KEY_CTRL_C) /* a CTRL-C answer means the user canceled */ { if (answer_state->command != NULL) { diff --git a/src/main.c b/src/main.c index 1103b8e5..e3cafc09 100644 --- a/src/main.c +++ b/src/main.c @@ -888,7 +888,7 @@ on_keyboard_input (state_t *state, if (character_size == 1 && ( keyboard_input[0] == '\x3' || keyboard_input[0] == '\x4' )) { ply_entry_trigger_t* entry_trigger = ply_list_node_get_data (node); - ply_trigger_pull (entry_trigger->trigger, NULL); + ply_trigger_pull (entry_trigger->trigger, "\x3"); ply_buffer_clear (state->entry_buffer); ply_list_remove_node (state->entry_triggers, node); free (entry_trigger);