diff options
| -rw-r--r-- | src/lib/aplwc_internal.h | 2 | ||||
| -rw-r--r-- | src/lib/main.c | 2 | ||||
| -rw-r--r-- | src/lib/module.c | 24 | ||||
| -rwxr-xr-x | tests/scripts/bad/4.aplwc | 4 | ||||
| -rwxr-xr-x | tests/scripts/good/3.aplwc | 4 |
5 files changed, 16 insertions, 20 deletions
diff --git a/src/lib/aplwc_internal.h b/src/lib/aplwc_internal.h index d72c289..d97cbf7 100644 --- a/src/lib/aplwc_internal.h +++ b/src/lib/aplwc_internal.h @@ -141,7 +141,5 @@ enum aplwc_rc check_tokens(struct token_list *); /* module.c */ enum aplwc_rc load_module(struct aplwc *, struct string *, struct token_list *); -struct aplwc_module *module_lookup(struct aplwc *, struct string *); -struct string *module_imports_syms(struct module_imports *); #endif /* APLWC_INTERNAL_H */ diff --git a/src/lib/main.c b/src/lib/main.c index bba93d3..afb99e9 100644 --- a/src/lib/main.c +++ b/src/lib/main.c @@ -59,7 +59,7 @@ aplwc_destroy(struct aplwc *p) return; memory_destroy(p); - if(p->fns.dealloc) + if(ALWAYS(p->fns.dealloc)) p->fns.dealloc(p); } diff --git a/src/lib/module.c b/src/lib/module.c index 32b693c..51bbfdd 100644 --- a/src/lib/module.c +++ b/src/lib/module.c @@ -33,12 +33,16 @@ read_keyword_decl(struct aplwc_module *module, size_t offset) static int read_function_decl(struct aplwc_module *module, size_t offset) { - int len; + int len, ok; - for(len = 1; (offset + len) < module->tokens->length; len++) - if(module->tokens->tokens[offset+len].tag == TOKEN_TAG_DEL) + ok = 0; + for(len = 1; (offset + len) < module->tokens->length; len++){ + if(module->tokens->tokens[offset+len].tag == TOKEN_TAG_DEL){ + ok = 1; break; - return len; + } + } + return ok ? len : -1; } static int @@ -104,15 +108,3 @@ end: MEMPTRS_EXIT(aplwc); return rc; } - -struct aplwc_module * -module_lookup(struct aplwc *aplwc, struct string *name) -{ - struct aplwc_module *m; - - for(m = aplwc->modules; m; m = m->link){ - if(string_compare(m->name, name) == 0) - break; - } - return m; -} diff --git a/tests/scripts/bad/4.aplwc b/tests/scripts/bad/4.aplwc index af9da70..8934275 100755 --- a/tests/scripts/bad/4.aplwc +++ b/tests/scripts/bad/4.aplwc @@ -1 +1,3 @@ -#!/usr/bin/env aplwc-repl
\ No newline at end of file +#!/usr/bin/env aplwc-repl + +∇ foo diff --git a/tests/scripts/good/3.aplwc b/tests/scripts/good/3.aplwc new file mode 100755 index 0000000..f94a4c6 --- /dev/null +++ b/tests/scripts/good/3.aplwc @@ -0,0 +1,4 @@ +#!/usr/bin/env aplwc-repl + + +:keyword 1 2
\ No newline at end of file |