From: Ray Strode Date: Wed, 30 Jun 2010 20:04:14 +0000 (-0400) Subject: [client] Fix watch-keystroke cancellation X-Git-Tag: 0.8.4~191 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3875c30854b4e2aa1d23b077609c8b088f85110a;p=thirdparty%2Fplymouth.git [client] Fix watch-keystroke cancellation If someone calls --ignore-keystroke then the watch-keystroke command shouldn't get run and the exit code should be different than if it does get run. --- diff --git a/src/client/plymouth.c b/src/client/plymouth.c index f454a21f..ab6f2a9c 100644 --- a/src/client/plymouth.c +++ b/src/client/plymouth.c @@ -363,6 +363,13 @@ on_key_answer (key_answer_state_t *answer_state, const char *answer, ply_boot_client_t *client) { + + if (answer == NULL) + { + ply_event_loop_exit (answer_state->state->loop, 1); + return; + } + if (answer_state->command != NULL) { answer_via_command (answer_state->command, answer, NULL); @@ -373,9 +380,7 @@ on_key_answer (key_answer_state_t *answer_state, write (STDOUT_FILENO, answer, strlen (answer)); } - if (answer != NULL) - ply_event_loop_exit (answer_state->state->loop, 0); - ply_event_loop_exit (answer_state->state->loop, 1); + ply_event_loop_exit (answer_state->state->loop, 0); } static void