From db420ae1d5147c32b1395d357ad40778efc400a8 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 16 Jan 2012 05:36:59 +1000 Subject: Make things more robust against a half arsed parser. --- LuaSL/src/LuaSL_LSL_tree.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'LuaSL/src/LuaSL_LSL_tree.c') diff --git a/LuaSL/src/LuaSL_LSL_tree.c b/LuaSL/src/LuaSL_LSL_tree.c index a0490c9..0f9013a 100644 --- a/LuaSL/src/LuaSL_LSL_tree.c +++ b/LuaSL/src/LuaSL_LSL_tree.c @@ -290,7 +290,8 @@ LSL_Leaf *addParenthesis(LSL_Leaf *lval, LSL_Leaf *expr, LSL_Leaf *rval) if (lval) { lval->value.parenthesis = parens; - lval->basicType = expr->basicType; + if (expr) + lval->basicType = expr->basicType; } } return lval; @@ -311,19 +312,20 @@ LSL_Leaf *addStatement(LSL_Leaf *lval, LSL_Type type, LSL_Leaf *expr) return lval; } -LSL_Leaf *addTypecast(LSL_Leaf *lval, LSL_Leaf *type, LSL_Leaf *rval) +LSL_Leaf *addTypecast(LSL_Leaf *lval, LSL_Leaf *type, LSL_Leaf *rval, LSL_Leaf *expr) { LSL_Parenthesis *parens = malloc(sizeof(LSL_Parenthesis)); if (parens) { parens->left = lval; - parens->expression = type; + parens->expression = expr; parens->right = rval; if (lval) { lval->value.parenthesis = parens; - lval->basicType = type->basicType; + if (type) + lval->basicType = type->basicType; lval->token = tokens[LSL_TYPECAST_OPEN - lowestToken]; } if (rval) -- cgit v1.1