bc: convert bc_program_asciify to "z" function
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@ -6526,7 +6526,7 @@ static void bc_program_stackLen(void)
|
|||||||
bc_vec_push(&G.prog.results, &res);
|
bc_vec_push(&G.prog.results, &res);
|
||||||
}
|
}
|
||||||
|
|
||||||
static BcStatus bc_program_asciify(void)
|
static BC_STATUS zbc_program_asciify(void)
|
||||||
{
|
{
|
||||||
BcStatus s;
|
BcStatus s;
|
||||||
BcResult *r, res;
|
BcResult *r, res;
|
||||||
@ -6536,12 +6536,12 @@ static BcStatus bc_program_asciify(void)
|
|||||||
unsigned long val;
|
unsigned long val;
|
||||||
|
|
||||||
if (!BC_PROG_STACK(&G.prog.results, 1))
|
if (!BC_PROG_STACK(&G.prog.results, 1))
|
||||||
return bc_error_stack_has_too_few_elements();
|
RETURN_STATUS(bc_error_stack_has_too_few_elements());
|
||||||
r = bc_vec_top(&G.prog.results);
|
r = bc_vec_top(&G.prog.results);
|
||||||
|
|
||||||
num = NULL; // TODO: is this NULL needed?
|
num = NULL; // TODO: is this NULL needed?
|
||||||
s = zbc_program_num(r, &num, false);
|
s = zbc_program_num(r, &num, false);
|
||||||
if (s) return s;
|
if (s) RETURN_STATUS(s);
|
||||||
|
|
||||||
if (BC_PROG_NUM(r, num)) {
|
if (BC_PROG_NUM(r, num)) {
|
||||||
|
|
||||||
@ -6572,7 +6572,6 @@ static BcStatus bc_program_asciify(void)
|
|||||||
bc_program_addFunc(str2, &idx);
|
bc_program_addFunc(str2, &idx);
|
||||||
|
|
||||||
if (idx != len + BC_PROG_REQ_FUNCS) {
|
if (idx != len + BC_PROG_REQ_FUNCS) {
|
||||||
|
|
||||||
for (idx = 0; idx < G.prog.strs.len; ++idx) {
|
for (idx = 0; idx < G.prog.strs.len; ++idx) {
|
||||||
if (strcmp(*bc_program_str(idx), str) == 0) {
|
if (strcmp(*bc_program_str(idx), str) == 0) {
|
||||||
len = idx;
|
len = idx;
|
||||||
@ -6590,12 +6589,15 @@ static BcStatus bc_program_asciify(void)
|
|||||||
bc_vec_pop(&G.prog.results);
|
bc_vec_pop(&G.prog.results);
|
||||||
bc_vec_push(&G.prog.results, &res);
|
bc_vec_push(&G.prog.results, &res);
|
||||||
|
|
||||||
return BC_STATUS_SUCCESS;
|
RETURN_STATUS(BC_STATUS_SUCCESS);
|
||||||
|
|
||||||
num_err:
|
num_err:
|
||||||
bc_num_free(&n);
|
bc_num_free(&n);
|
||||||
return s;
|
RETURN_STATUS(s);
|
||||||
}
|
}
|
||||||
|
#if ERRORS_ARE_FATAL
|
||||||
|
# define zbc_program_asciify(...) (zbc_program_asciify(__VA_ARGS__), BC_STATUS_SUCCESS)
|
||||||
|
#endif
|
||||||
|
|
||||||
static BC_STATUS zbc_program_printStream(void)
|
static BC_STATUS zbc_program_printStream(void)
|
||||||
{
|
{
|
||||||
@ -6984,7 +6986,7 @@ static BcStatus bc_program_exec(void)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case BC_INST_ASCIIFY:
|
case BC_INST_ASCIIFY:
|
||||||
s = bc_program_asciify();
|
s = zbc_program_asciify();
|
||||||
break;
|
break;
|
||||||
case BC_INST_PRINT_STREAM:
|
case BC_INST_PRINT_STREAM:
|
||||||
s = zbc_program_printStream();
|
s = zbc_program_printStream();
|
||||||
|
Reference in New Issue
Block a user