Mercurial > pub > dyncall > dyncall
diff test/suite_aggrs/mk-cases.lua @ 438:b4ddad459690
suite_aggr;
- made generator produce unique signatures
- reduced dcNewStruct() calls to once only per sig
- added missing free()s
- cleanup: removal of unused decl, func renaming for clarity, static for tu-local symbols, ...
author | Tassilo Philipp |
---|---|
date | Wed, 26 Jan 2022 13:37:19 +0100 |
parents | a29baee68340 |
children | e59e381b4fca |
line wrap: on
line diff
--- a/test/suite_aggrs/mk-cases.lua Wed Jan 26 13:26:39 2022 +0100 +++ b/test/suite_aggrs/mk-cases.lua Wed Jan 26 13:37:19 2022 +0100 @@ -161,15 +161,15 @@ end -- convenient dcnewstruct helper funcs - io.write('DCstruct* f_newdcst'..v[2]..'() {\n\tDCstruct* st = dcNewStruct('..(#v[1]>>1)..', sizeof('..st..'), 0, 1);\n\t') + io.write('DCstruct* f_touchdcst'..v[2]..'() {\n\tstatic DCstruct* st = NULL;\n\tif(!st) {\n\t\tst = dcNewStruct('..(#v[1]>>1)..', sizeof('..st..'), DC_TRUE);\n\t\t') for i = 1, #v[1], 2 do if string.match(v[1][i], '^struct') then - io.write('dcStructField(st, DC_SIGCHAR_STRUCT, offsetof('..st..', '..v[1][i+1]..'), 1, f_newdcst'..v[1][i]:sub(8)..'());\n\t') + io.write('dcStructField(st, DC_SIGCHAR_STRUCT, offsetof('..st..', '..v[1][i+1]..'), 1, f_touchdcst'..v[1][i]:sub(8)..'());\n\t\t') else - io.write("dcStructField(st, '"..v[1][i].."', offsetof("..st..', '..v[1][i+1]..'), 1);\n\t') + io.write("dcStructField(st, '"..v[1][i].."', offsetof("..st..', '..v[1][i+1]..'), 1);\n\t\t') end end - io.write("dcCloseStruct(st);\n\treturn st;\n};\n") + io.write("dcCloseStruct(st);\n\t}\n\treturn st;\n};\n") end -- make table.concat work @@ -182,7 +182,7 @@ io.write(mksigtab(sigtab)) io.write('const char* G_agg_sigs[] = {\n\t"'..table.concat(agg_sigs, '",\n\t"')..'"\n};\n') io.write('int G_agg_sizes[] = {\n\t'..table.concat(agg_sizes, ',\n\t')..'\n};\n') - io.write('funptr G_agg_newdcstfuncs[] = {'..string.sub(table.concat(agg_names, ',\n\t(funptr)&f_newdcst'),2)..'\n};\n') + io.write('funptr G_agg_touchdcstfuncs[] = {'..string.sub(table.concat(agg_names, ',\n\t(funptr)&f_touchdcst'),2)..'\n};\n') io.write('funptr G_agg_cmpfuncs[] = {'..string.sub(table.concat(agg_names, ',\n\t(funptr)&f_cmp'),2)..'\n};\n') io.write("int G_maxargs = "..maxargs..";\n") end