summaryrefslogtreecommitdiff
path: root/miscutils/bc.c
diff options
context:
space:
mode:
Diffstat (limited to 'miscutils/bc.c')
-rw-r--r--miscutils/bc.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c
index 63b745d..78c6435 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -7005,11 +7005,10 @@ err:
static BcStatus bc_vm_stdin(void)
{
- BcStatus s = BC_STATUS_SUCCESS;
+ BcStatus s;
BcVec buf, buffer;
- char c;
size_t len, i, str = 0;
- bool comment = false, notend;
+ bool comment = false;
G.prog.file = bc_program_stdin_name;
bc_lex_file(&G.prs.l, bc_program_stdin_name);
@@ -7022,7 +7021,7 @@ static BcStatus bc_vm_stdin(void)
// with a backslash to the parser. The reason for that is because the parser
// treats a backslash+newline combo as whitespace, per the bc spec. In that
// case, and for strings and comments, the parser will expect more stuff.
- for (s = bc_read_line(&buf, ">>> "); !s; s = bc_read_line(&buf, ">>> ")) {
+ while ((s = bc_read_line(&buf, ">>> ")) == BC_STATUS_SUCCESS) {
char *string = buf.v;
@@ -7038,8 +7037,8 @@ static BcStatus bc_vm_stdin(void)
for (i = 0; i < len; ++i) {
- notend = len > i + 1;
- c = string[i];
+ bool notend = len > i + 1;
+ char c = string[i];
if (i - 1 > len || string[i - 1] != '\\') {
if (G.sbgn == G.send)