@@ -68,18 +68,20 @@ var i$ffiWrap = function(fid,oldbase,myoldbase) {
6868 var res = fid;
6969
7070 for(var i = 0; i < (arguments.length ? arguments.length : 1); ++i) {
71− i$valstack_top += 1;
72− i$valstack[i$valstack_top] = res;
73− i$valstack[i$valstack_top + 1] = arguments[i];
74− i$SLIDE(2);
75− i$valstack_top = i$valstack_base + 2;
76− i$CALL(_idris__123_APPLY0_125_,[oldbase])
77− while (i$callstack.length) {
78− var func = i$callstack.pop();
79− var args = i$callstack.pop();
80− func.apply(this,args);
71+ while (res instanceof i$CON) {
72+ i$valstack_top += 1;
73+ i$valstack[i$valstack_top] = res;
74+ i$valstack[i$valstack_top + 1] = arguments[i];
75+ i$SLIDE(2);
76+ i$valstack_top = i$valstack_base + 2;
77+ i$CALL(_idris__123_APPLY0_125_,[oldbase])
78+ while (i$callstack.length) {
79+ var func = i$callstack.pop();
80+ var args = i$callstack.pop();
81+ func.apply(this,args);
82+ }
83+ res = i$ret;
8184 }
82− res = i$ret;
8385 }
8486
8587 i$callstack = i$vm.callstack;