]> git.xonotic.org Git - xonotic/gmqcc.git/commitdiff
handle parameters in parser_find_local
authorWolfgang Bumiller <wolfgang.linux@bumiller.com>
Fri, 27 Jul 2012 10:25:46 +0000 (12:25 +0200)
committerWolfgang Bumiller <wolfgang.linux@bumiller.com>
Fri, 27 Jul 2012 10:25:46 +0000 (12:25 +0200)
parser.c

index 4ffb61c7a273bb27ca6d55e7187c57c6f339053e..81dda629df4c25314ca54f9208629b7b7cf6df08 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -90,11 +90,17 @@ ast_value* parser_find_global(parser_t *parser, const char *name)
 ast_value* parser_find_local(parser_t *parser, const char *name, size_t upto)
 {
     size_t i;
+    ast_value *fun;
     for (i = parser->locals_count; i > upto;) {
         --i;
         if (!strcmp(parser->locals[i]->name, name))
             return parser->locals[i];
     }
+    fun = parser->function->vtype;
+    for (i = 0; i < fun->params_count; ++i) {
+        if (!strcmp(fun->params[i]->name, name))
+            return fun->params[i];
+    }
     return NULL;
 }