From: Denys Vlasenko Date: Thu, 6 Dec 2018 09:26:13 +0000 (+0100) Subject: bc: add preparatory indent block, no code changes X-Git-Tag: 1_30_0~282 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ed849351d11d9f5bb9519baa52e8c1e9d3615ca9;p=oweals%2Fbusybox.git bc: add preparatory indent block, no code changes Signed-off-by: Denys Vlasenko --- diff --git a/miscutils/bc.c b/miscutils/bc.c index ee4f21364..90c3bf5d6 100644 --- a/miscutils/bc.c +++ b/miscutils/bc.c @@ -1216,41 +1216,41 @@ static BcStatus bc_read_line(BcVec *vec, const char *prompt) , stderr); } #endif - if (G_ttyin && !G_posix) - fputs(prompt, stderr); + { + if (G_ttyin && !G_posix) + fputs(prompt, stderr); + IF_FEATURE_BC_SIGNALS(errno = 0;) + do { + i = fgetc(stdin); + if (i == EOF) { #if ENABLE_FEATURE_BC_SIGNALS - errno = 0; + // Both conditions appear simultaneously, check both just in case + if (errno == EINTR || bb_got_signal) { + // ^C was pressed + clearerr(stdin); + goto intr; + } #endif - do { - i = fgetc(stdin); - if (i == EOF) { -#if ENABLE_FEATURE_BC_SIGNALS - // Both conditions appear simultaneously, check both just in case - if (errno == EINTR || bb_got_signal) { - // ^C was pressed - clearerr(stdin); - goto intr; + if (ferror(stdin)) + quit(); // this emits error message + G.eof = 1; + // Note: EOF does not append '\n', therefore: + // printf 'print 123\n' | bc - works + // printf 'print 123' | bc - fails (syntax error) + break; } -#endif - if (ferror(stdin)) - quit(); // this emits error message - G.eof = 1; - // Note: EOF does not append '\n', therefore: - // printf 'print 123\n' | bc - works - // printf 'print 123' | bc - fails (syntax error) - break; - } - if ((i < ' ' && i != '\t' && i != '\r' && i != '\n') // also allow '\v' '\f'? - || i > 0x7e - ) { - // Bad chars on this line, ignore entire line - bc_error_fmt("illegal character 0x%02x", i); - bad_chars = 1; - } - bc_vec_pushByte(vec, (char)i); - } while (i != '\n'); + if ((i < ' ' && i != '\t' && i != '\r' && i != '\n') // also allow '\v' '\f'? + || i > 0x7e + ) { + // Bad chars on this line, ignore entire line + bc_error_fmt("illegal character 0x%02x", i); + bad_chars = 1; + } + bc_vec_pushByte(vec, (char)i); + } while (i != '\n'); + } } while (bad_chars); bc_vec_pushZeroByte(vec);