Compare commits
2 Commits
3fc90383a9
...
5492aa6f63
Author | SHA1 | Date |
---|---|---|
Danila Fedorin | 5492aa6f63 | |
Danila Fedorin | 59f306f59e |
|
@ -919,6 +919,8 @@ libab_result _interpreter_run(struct interpreter_state* state, libab_tree* tree,
|
||||||
libab_ref_get(scope), tree->string_value, OPERATOR_POSTFIX);
|
libab_ref_get(scope), tree->string_value, OPERATOR_POSTFIX);
|
||||||
result = _interpreter_call_operator(state, to_call, into, scope,
|
result = _interpreter_call_operator(state, to_call, into, scope,
|
||||||
vec_index(&tree->children, 0));
|
vec_index(&tree->children, 0));
|
||||||
|
} else {
|
||||||
|
libab_get_unit_value(state->ab, into);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (needs_scope) {
|
if (needs_scope) {
|
||||||
|
|
|
@ -48,7 +48,8 @@ int _tree_foreach_free(void* data, va_list args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int _tree_needs_free(libab_tree* tree) {
|
int _tree_needs_free(libab_tree* tree) {
|
||||||
return ((tree->variant == TREE_FUN && --tree->int_value) | (tree->variant != TREE_FUN));
|
return ((tree->variant == TREE_FUN && --(tree->int_value) == 0) |
|
||||||
|
(tree->variant != TREE_FUN));
|
||||||
}
|
}
|
||||||
|
|
||||||
void libab_tree_free_recursive(libab_tree* tree) {
|
void libab_tree_free_recursive(libab_tree* tree) {
|
||||||
|
|
Loading…
Reference in New Issue