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.
163
2002/10/15
14
:
53
:
28
grubba Exp $
+
|| $Id: operators.c,v 1.
164
2002/10/15
15
:
29
:
13
grubba Exp $
*/ #include "global.h" #include <math.h>
-
RCSID("$Id: operators.c,v 1.
163
2002/10/15
14
:
53
:
28
grubba Exp $");
+
RCSID("$Id: operators.c,v 1.
164
2002/10/15
15
:
29
:
13
grubba Exp $");
#include "interpret.h" #include "svalue.h" #include "multiset.h" #include "mapping.h" #include "array.h" #include "stralloc.h" #include "opcodes.h" #include "operators.h" #include "language.h" #include "pike_memory.h"
pike.git/src/operators.c:1941:
SIMPLE_BAD_ARG_ERROR("`<<", 2, "int(0..)|object"); } #ifndef AUTO_BIGNUM if (sp[-1].u.integer > 31) { sp--; sp[-1].u.integer = 0; return; } #endif /* !AUTO_BIGNUM */ if (sp[-1].u.integer < 0) {
+
int args = 2;
SIMPLE_BAD_ARG_ERROR("`<<", 2, "int(0..)|object"); } sp--; sp[-1].u.integer = sp[-1].u.integer << sp->u.integer; } /*! @decl int `<<(int arg1, int arg2) *! @decl mixed `<<(object arg1, int|object arg2) *! @decl mixed `<<(int arg1, object arg2) *!
pike.git/src/operators.c:1997:
{ int args = 2; if(call_lfun(LFUN_RSH, LFUN_RRSH)) return; if(sp[-2].type != T_INT) SIMPLE_BAD_ARG_ERROR("`>>", 1, "int|object"); SIMPLE_BAD_ARG_ERROR("`>>", 2, "int(0..)|object"); } if (sp[-1].u.integer < 0) {
+
int args = 2;
SIMPLE_BAD_ARG_ERROR("`>>", 2, "int(0..)|object"); } if( #ifdef AUTO_BIGNUM (INT_TYPE_RSH_OVERFLOW(sp[-2].u.integer, sp[-1].u.integer)) #else /* !AUTO_BIGNUM */ (sp[-1].u.integer > 31) #endif /* AUTO_BIGNUM */ )