bc: move fflush to the _actual_ execution loop
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 17 Dec 2018 00:22:53 +0000 (01:22 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 17 Dec 2018 00:22:53 +0000 (01:22 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
miscutils/bc.c

index 24d1ebba67b7614e19b8385a26be3e472edf5c94..c92f6f813bf6af2a7d1366f6b8fa88f3d362c6eb 100644 (file)
@@ -6875,6 +6875,8 @@ static BC_STATUS zbc_program_exec(void)
                        RETURN_STATUS(s);
                }
 
+               fflush_and_check();
+
                // If the stack has changed, pointers may be invalid.
                ip = bc_vec_top(&G.prog.stack);
                func = bc_program_func(ip->func);
@@ -6920,7 +6922,6 @@ static BC_STATUS zbc_vm_process(const char *text)
                        bc_program_reset();
                        break;
                }
-               fflush_and_check();
        }
 
        dbg_lex_done("%s:%d done", __func__, __LINE__);