]> git.kaiwu.me - quickjs.git/commitdiff
qjsc: handle C name conflicts between scripts and modules (#432)
authorFabrice Bellard <fabrice@bellard.org>
Wed, 27 Aug 2025 14:06:44 +0000 (16:06 +0200)
committerFabrice Bellard <fabrice@bellard.org>
Wed, 27 Aug 2025 14:07:05 +0000 (16:07 +0200)
qjsc.c

diff --git a/qjsc.c b/qjsc.c
index 49aa4498570fbdfbac0b7f98359f3020f82fd4f2..e55ca61ce65ccc61e83797e58e341fcb5de91215 100644 (file)
--- a/qjsc.c
+++ b/qjsc.c
@@ -362,6 +362,9 @@ static void compile_file(JSContext *ctx, FILE *fo,
         pstrcpy(c_name, sizeof(c_name), c_name1);
     } else {
         get_c_name(c_name, sizeof(c_name), filename);
+        if (namelist_find(&cname_list, c_name)) {
+            find_unique_cname(c_name, sizeof(c_name));
+        }
     }
     output_object_code(ctx, fo, obj, c_name, CNAME_TYPE_SCRIPT);
     JS_FreeValue(ctx, obj);