diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-03-03 15:18:15 -0500 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-03-03 15:18:15 -0500 |
| commit | b8640a2c307effcc44d86e51ce63efe349feebb4 (patch) | |
| tree | 5a5efde14f5aaa9a8b8308cac45f25db03b297ba | |
| parent | 2a7cfd7c3665c441c25094c12bde02ddc565061c (diff) | |
Bugfix for module name parsing
| -rw-r--r-- | compile.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1083,11 +1083,13 @@ module_code_t compile_file(ast_t *ast) CORD_appendf(&env->code->main, "%r\n", code); } - const char *name = strrchr(ast->file->filename, '/'); - name = name ? name : ast->file->filename; + const char *slash = strrchr(ast->file->filename, '/'); + const char *name = slash ? slash+1 : ast->file->filename; size_t name_len = 0; while (name[name_len] && (isalnum(name[name_len]) || name[name_len] == '_')) ++name_len; + if (name_len == 0) + errx(1, "No module name found for: %s", ast->file->filename); const char *module_name = heap_strn(name, name_len); return (module_code_t){ |
