pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/docode.c:1:
/*\ ||| This file a part of Pike, and is copyright by Fredrik Hubinette ||| Pike is distributed as GPL (General Public License) ||| See the files COPYING and DISCLAIMER for more information. \*/ /**/ #include "global.h"
-
RCSID("$Id: docode.c,v 1.
87
2000/12/
02
14
:
57
:
32
grubba
Exp $");
+
RCSID("$Id: docode.c,v 1.
88
2000/12/
04
21
:
31
:
14
nilsson
Exp $");
#include "las.h" #include "program.h" #include "pike_types.h" #include "stralloc.h" #include "interpret.h" #include "constants.h" #include "array.h" #include "pike_macros.h" #include "pike_error.h" #include "pike_memory.h"
pike.git/src/docode.c:1191:
case F_SSCANF: tmp1=do_docode(CAR(n),DO_NOT_COPY); tmp2=do_docode(CDR(n),DO_NOT_COPY | DO_LVALUE); emit1(F_SSCANF, DO_NOT_WARN((INT32)(tmp1+tmp2))); return 1; case F_CATCH: { /* FIXME: Pike 7.0 compatibility? */ INT32 break_save = current_break;
-
/*
INT32 continue_save = current_continue;
*/
+
INT32 continue_save = current_continue;
INT32 *prev_switch_jumptable = current_switch_jumptable; current_switch_jumptable=0; current_break=alloc_label();
-
/*
current_continue=alloc_label();
*/
+
current_continue=alloc_label();
tmp1=do_jump(F_CATCH,-1); DO_CODE_BLOCK(CAR(n));
-
/*
ins_label(current_continue);
*/
+
ins_label(current_continue);
ins_label(current_break); emit0(F_THROW_ZERO); ins_label(DO_NOT_WARN((INT32)tmp1)); current_break=break_save;
-
/*
current_continue=continue_save;
*/
+
current_continue=continue_save;
current_switch_jumptable = prev_switch_jumptable; return 1; } case F_LVALUE_LIST: return do_docode(CAR(n),DO_LVALUE)+do_docode(CDR(n),DO_LVALUE); case F_ARRAY_LVALUE: tmp1=do_docode(CAR(n),DO_LVALUE); #ifdef PIKE_DEBUG