|
@ -1467,10 +1467,10 @@ static void push_delimited_array(struct context* ctx) { |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
o">// Save for cleanup |
|
|
|
|
|
|
|
|
cm">/* Save for cleanup */ |
|
|
counter = idx; |
|
|
counter = idx; |
|
|
|
|
|
|
|
|
o">// Don't copy the delimiter |
|
|
|
|
|
|
|
|
cm">/* Don't copy the delimiter */ |
|
|
idx -= 1; |
|
|
idx -= 1; |
|
|
|
|
|
|
|
|
ary->elements = malloc(sizeof(struct elem) * idx); |
|
|
ary->elements = malloc(sizeof(struct elem) * idx); |
|
@ -1481,17 +1481,17 @@ static void push_delimited_array(struct context* ctx) { |
|
|
ary->capacity = idx; |
|
|
ary->capacity = idx; |
|
|
ary->top = 0; |
|
|
ary->top = 0; |
|
|
|
|
|
|
|
|
o">// Copy the data |
|
|
|
|
|
|
|
|
cm">/* Copy the data */ |
|
|
for(i = currentRoutine->top - idx; i < currentRoutine->top; ++i) { |
|
|
for(i = currentRoutine->top - idx; i < currentRoutine->top; ++i) { |
|
|
ary->elements[ary->top] = currentRoutine->stack[i]; |
|
|
ary->elements[ary->top] = currentRoutine->stack[i]; |
|
|
++(ary->top); |
|
|
++(ary->top); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
o">// Cleanup |
|
|
|
|
|
|
|
|
cm">/* Cleanup */ |
|
|
while(counter--) { |
|
|
while(counter--) { |
|
|
ink_pop(ctx); |
|
|
ink_pop(ctx); |
|
|
} |
|
|
} |
|
|
o">// Put value in place |
|
|
|
|
|
|
|
|
cm">/* Put value in place */ |
|
|
ink_push(ctx, a); |
|
|
ink_push(ctx, a); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|