diff --git a/src/ast/ast.c b/src/ast/ast.c index f513690..ce85230 100644 --- a/src/ast/ast.c +++ b/src/ast/ast.c @@ -238,7 +238,8 @@ AST *ast_cast_expr(AST *what, Type *to) { ASTExprPrimitive *ret = calloc(1, sizeof(*ret)); ret->nodeKind = AST_EXPR_PRIMITIVE; ret->type = to; - memcpy(&ret->val, what->exprStrLit.data, sizeof(ret->val)); + ret->val = 0; + memcpy(&ret->val, what->exprStrLit.data, what->exprStrLit.length); return (AST*) ret; } else abort(); }