pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/docode.c:2132:
yyerror("Case inside range."); e++; } } } } order_array(Pike_sp[-1].u.array,order); reorder((void *)(current_switch.jumptable+2),cases,sizeof(INT32)*2,order);
-
free(
(char *)
order);
+
free(order);
current_switch.jumptable[1] = current_switch.less_label; current_switch.jumptable[current_switch.index - 1] = current_switch.greater_label; if(current_switch.default_label < 0) current_switch.default_label = ins_label(-1); for(e=1;e<cases*2+2;e++) if(current_switch.jumptable[e]==-1) current_switch.jumptable[e]=current_switch.default_label; for(e=1; e<cases*2+2; e++) update_arg(jumptable[e], current_switch.jumptable[e]); update_arg(DO_NOT_WARN((INT32)tmp1), store_constant(Pike_sp-1,1,0)); pop_stack();
-
free(
(char *)
jumptable);
-
free(
(char *)
current_switch.jumptable);
+
free(jumptable);
+
free(current_switch.jumptable);
current_switch = prev_switch; low_insert_label( current_label->break_label); POP_STATEMENT_LABEL; BLOCK_END; #ifdef PIKE_DEBUG if(Pike_interpreter.recoveries && Pike_sp-Pike_interpreter.evaluator_stack < Pike_interpreter.recoveries->stack_pointer) Pike_fatal("Stack error after F_SWITCH (underflow)\n");