← Commit list

7b30bc022

Denys Vlasenko
Denys Vlasenko
2018-12-18
SUCCESS Duration: 153s

Subject

bc: shrink bc_program_pushVar()

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

miscutils/bc.c+14 -20
@@ -5718,31 +5718,25 @@ static BC_STATUS bc_program_pushVar(char *code, size_t *bgn,
r.d.id.name = name;
#if ENABLE_DC
- {
+ if (pop || copy) {
BcVec *v = bc_program_search(name, true);
BcNum *num = bc_vec_top(v);
- if (pop || copy) {
- if (!BC_PROG_STACK(v, 2 - copy)) {
- free(name);
- RETURN_STATUS(bc_error_stack_has_too_few_elements());
- }
-
- free(name);
- name = NULL;
-
- if (!BC_PROG_STR(num)) {
- r.t = BC_RESULT_TEMP;
-
- bc_num_init_DEF_SIZE(&r.d.n);
- bc_num_copy(&r.d.n, num);
- } else {
- r.t = BC_RESULT_STR;
- r.d.id.idx = num->rdx;
- }
+ free(name);
+ if (!BC_PROG_STACK(v, 2 - copy)) {
+ RETURN_STATUS(bc_error_stack_has_too_few_elements());
+ }
- if (!copy) bc_vec_pop(v);
+ if (!BC_PROG_STR(num)) {
+ r.t = BC_RESULT_TEMP;
+ bc_num_init_DEF_SIZE(&r.d.n);
+ bc_num_copy(&r.d.n, num);
+ } else {
+ r.t = BC_RESULT_STR;
+ r.d.id.idx = num->rdx;
}
+
+ if (!copy) bc_vec_pop(v);
}
#endif // ENABLE_DC