pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.c:1:
/* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: operators.c,v 1.
228
2008/03/
22
13
:
50
:
23
grubba
Exp $
+
|| $Id: operators.c,v 1.
229
2008/03/
29
02
:
04
:
40
mast
Exp $
*/ #include "global.h" #include <math.h> #include "interpret.h" #include "svalue.h" #include "multiset.h" #include "mapping.h" #include "array.h" #include "stralloc.h"
pike.git/src/operators.c:4497:
apply_low (o, f2, 0); push_int (1); o_subtract(); move_svalue (&end_pos, --sp); SET_ONERROR (uwp, do_free_svalue, &end_pos); } switch (bound_types & (RANGE_LOW_FROM_BEG|RANGE_LOW_FROM_END|RANGE_LOW_OPEN)) { case RANGE_LOW_FROM_BEG: move_svalue (sp++, low);
+
mark_free_svalue (low);
break; case RANGE_LOW_OPEN: push_int (0); break; default: push_svalue (&end_pos); move_svalue (sp++, low);
-
+
mark_free_svalue (low);
o_subtract(); break; } switch (bound_types & (RANGE_HIGH_FROM_BEG|RANGE_HIGH_FROM_END|RANGE_HIGH_OPEN)) { case RANGE_HIGH_FROM_BEG: move_svalue (sp++, high);
-
+
mark_free_svalue (high);
break; case RANGE_HIGH_OPEN: push_int (MAX_INT_TYPE); break; default: push_svalue (&end_pos); move_svalue (sp++, high);
-
+
mark_free_svalue (high);
o_subtract(); break; } if (bound_types & (RANGE_LOW_FROM_END|RANGE_HIGH_FROM_END)) { UNSET_ONERROR (uwp); free_svalue (&end_pos); /* Anything might have happened during the calls to * LFUN__SIZEOF and o_subtract above. */ if (!o->prog)