search for funciton param first before function locals, this fixes #163

This commit is contained in:
Dale Weiler 2017-12-01 12:24:50 -05:00
parent 1580c23556
commit 3cf2c52fce

View file

@ -135,17 +135,22 @@ static ast_expression* parser_find_local(parser_t *parser, const char *name, siz
{
size_t i, hash;
ast_expression *e;
ast_expression *p;
hash = util_hthash(parser->htglobals, name);
*isparam = false;
p = parser_find_param(parser, name);
if (p) {
*isparam = true;
return p;
}
for (i = parser->variables.size(); i > upto;) {
--i;
if ( (e = (ast_expression*)util_htgeth(parser->variables[i], name, hash)) )
return e;
}
*isparam = true;
return parser_find_param(parser, name);
return NULL;
}
static ast_expression* parser_find_local(parser_t *parser, const std::string &name, size_t upto, bool *isparam) {