aboutsummaryrefslogtreecommitdiff
path: root/interpreter/graphs.c
diff options
context:
space:
mode:
Diffstat (limited to 'interpreter/graphs.c')
-rw-r--r--interpreter/graphs.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/interpreter/graphs.c b/interpreter/graphs.c
index 91f9a19..dca2c53 100644
--- a/interpreter/graphs.c
+++ b/interpreter/graphs.c
@@ -50,7 +50,7 @@ void free_node(struct node *node, unsigned int count, bool free_first) {
}
if (node->used_count == 0) {
- if (node->kind == NODE_INT || node->kind == NODE_NAME)
+ if (node->kind == NODE_NAME)
my_free(node->var1);
if (node->kind == NODE_CODE)
@@ -111,8 +111,7 @@ void cpy_expression_to_node(struct node *dst, struct expression *src) {
dst->kind = src->kind;
switch (src->kind) {
case EXPR_INT:
- dst->var1 = my_calloc(1, sizeof(int));
- *((int*) dst->var1) = *((int*) src->var1);
+ dst->var1 = src->var1;
break;
case EXPR_NAME:
@@ -152,8 +151,7 @@ void cpy_node_to_expression(struct expression *dst, struct node *src) {
dst->kind = src->kind;
switch (src->kind) {
case NODE_INT:
- dst->var1 = my_calloc(1, sizeof(int));
- *((int*) dst->var1) = *((int*) src->var1);
+ dst->var1 = src->var1;
break;
case NODE_NAME: