pike.git / src / interpret.h

version» Context lines:

pike.git/src/interpret.h:212:   #define MAYBE_CAST_TO_LONG(X) (X)   #else /* !__ECL */   #define MAYBE_CAST_TO_LONG(X) ((long)(X))   #endif /* __ECL */      PMOD_EXPORT extern const char msg_pop_neg[];   #define pop_n_elems(X) \    do { \    ptrdiff_t x_=(X); \    if(x_) { \ -  struct svalue *_sp_; \ +     check__positive(x_, (msg_pop_neg, x_)); \ -  _sp_ = Pike_sp - x_; \ -  free_mixed_svalues(_sp_, x_); \ -  Pike_sp = _sp_; \ +  if (x_ > 131072) Pike_fatal("Popping too much!\n"); \ +  while (x_--) pop_stack(); \    debug_check_stack(); \    } \    } while (0)      /* This pops a number of arguments from the stack but keeps the top    * element on top. Used for popping the arguments while keeping the    * return value.    */   #define stack_unlink(X) do { \    ptrdiff_t x2_ = (X); \