diff options
-rw-r--r-- | src/jsifier.js | 2 | ||||
-rw-r--r-- | tests/runner.py | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 29da592f..08f93a05 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -694,7 +694,7 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) { args = args.map(indexizeFunctions); varargs = varargs.map(indexizeFunctions); - if (varargs.length > 0) { + if (func && func.hasVarArgs) { varargs = makePointer('[' + varargs + ']', 0, 'ALLOC_STACK'); } diff --git a/tests/runner.py b/tests/runner.py index a54c28f0..cf347f0c 100644 --- a/tests/runner.py +++ b/tests/runner.py @@ -1418,6 +1418,7 @@ if 'benchmark' not in sys.argv: int main() { vary("*cheez: %d+%d*", 0, 24); // Also tests that '0' is not special as an array ender + vary("*albeit*"); // Should not fail with no var args in vararg function vary2('Q', "%d*", 85); int maxxi = getMaxi(6, 2, 5, 21, 4, -10, 19); @@ -1428,7 +1429,7 @@ if 'benchmark' not in sys.argv: return 0; } ''' - self.do_test(src, '*cheez: 0+24*\n*cheez: 0+24*\nQ85*\nmaxxi:21*\nmaxxD:22.10*\n') + self.do_test(src, '*cheez: 0+24*\n*cheez: 0+24*\n*albeit*\n*albeit*\nQ85*\nmaxxi:21*\nmaxxD:22.10*\n') def test_stdlibs(self): src = ''' |