pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.c:3394:    modify_stack_depth(-1);    return 1;       default:    return 0;    }   }      PMOD_EXPORT void o_lsh(void)   { +  if (sp[-1].u.integer < 0) { +  int args = 2; +  SIMPLE_BAD_ARG_ERROR("`<<", 2, "int(0..)|object"); +  }    if ((TYPEOF(sp[-1]) == T_INT) && (TYPEOF(sp[-2]) == T_INT) &&    INT_TYPE_LSH_OVERFLOW(sp[-2].u.integer, sp[-1].u.integer))    convert_stack_top_to_bignum();       if(TYPEOF(sp[-1]) != T_INT || TYPEOF(sp[-2]) != T_INT)    {    int args = 2;    if(call_lfun(LFUN_LSH, LFUN_RLSH))    return;       if(TYPEOF(sp[-2]) != 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"); -  } +     sp--;    SET_SVAL(sp[-1], T_INT, NUMBER_NUMBER, 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)    *!    *! Left shift.