mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2024-11-27 14:12:36 +00:00
need to use ast_unref rather than ast_delete on the parsed array-size otherwise we end up deleting constants
This commit is contained in:
parent
1fa67577e0
commit
fb264b90b9
1 changed files with 3 additions and 3 deletions
6
parser.c
6
parser.c
|
@ -2284,7 +2284,7 @@ static ast_value *parse_arraysize(parser_t *parser, ast_value *var)
|
|||
|
||||
if (!cexp || !ast_istype(cexp, ast_value)) {
|
||||
if (cexp)
|
||||
ast_delete(cexp);
|
||||
ast_unref(cexp);
|
||||
ast_delete(var);
|
||||
parseerror(parser, "expected array-size as constant positive integer");
|
||||
return NULL;
|
||||
|
@ -2300,12 +2300,12 @@ static ast_value *parse_arraysize(parser_t *parser, ast_value *var)
|
|||
else if (cval->expression.vtype == TYPE_FLOAT)
|
||||
tmp->expression.count = cval->constval.vfloat;
|
||||
else {
|
||||
ast_delete(cexp);
|
||||
ast_unref(cexp);
|
||||
ast_delete(var);
|
||||
parseerror(parser, "array-size must be a positive integer constant");
|
||||
return NULL;
|
||||
}
|
||||
ast_delete(cexp);
|
||||
ast_unref(cexp);
|
||||
|
||||
if (parser->tok != ']') {
|
||||
ast_delete(var);
|
||||
|
|
Loading…
Reference in a new issue