From: jNullj <15849761+jNullj@users.noreply.github.com> Date: Sat, 18 May 2024 15:18:57 +0000 (+0300) Subject: Refactor convoluted switch case into if else X-Git-Tag: v2.42-start~317^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6cc9d27d9851090d118c0851dcf0aeaf869da132;p=thirdparty%2Futil-linux.git Refactor convoluted switch case into if else --- diff --git a/term-utils/scriptreplay.c b/term-utils/scriptreplay.c index 60009ec03..6ec2ed057 100644 --- a/term-utils/scriptreplay.c +++ b/term-utils/scriptreplay.c @@ -328,34 +328,29 @@ main(int argc, char *argv[]) replay_toggle_pause(setup); break; case '\033': - switch (fgetwc(stdin)) { - case '[': - switch (fgetwc(stdin)) { - case 'A': // Up arrow - divi += 0.1; - replay_set_delay_div(setup, divi); - break; - case 'B': // Down arrow - divi -= 0.1; - if (divi < 0.1) - divi = 0.1; - replay_set_delay_div(setup, divi); - break; - case 'C': // Right arrow - rc = replay_emit_step_data(setup, step, STDOUT_FILENO); - if (rc) - break; - - rc = replay_get_next_step(setup, streams, &step); - if (rc) - break; - + wchar_t firstChar = fgetwc(stdin); + if (firstChar == '[') { + wchar_t secondChar = fgetwc(stdin); + + if (secondChar == 'A') { // Up arrow + divi += 0.1; + replay_set_delay_div(setup, divi); + } else if (secondChar == 'B') { // Down arrow + divi -= 0.1; + if (divi < 0.1) + divi = 0.1; + replay_set_delay_div(setup, divi); + } else if (secondChar == 'C') { // Right arrow + rc = replay_emit_step_data(setup, step, STDOUT_FILENO); + if (!rc) { + rc = replay_get_next_step(setup, streams, &step); + if (!rc) { struct timeval *delay = replay_step_get_delay(step); if (delay && timerisset(delay)) stepDelay = *delay; - break; + } } - break; + } } break; }