diff --git a/src/interpret.h b/src/interpret.h index 3d0a6c62c28c534f281d40879f2049726c5bbb5f..8c9455170e26033ae3bad874597cafdf25b13881 100644 --- a/src/interpret.h +++ b/src/interpret.h @@ -469,6 +469,13 @@ PMOD_EXPORT extern void push_text( const char *x ); _sp_[-2]=_; \ } while(0) +#define stack_revroll(args) do { \ + struct svalue *_sp_ = Pike_sp; \ + int _args_ = (args); struct svalue _=_sp_[-1]; \ + memmove(_sp_-_args_+1, _sp_-_args_, (_args_-1)*sizeof(struct svalue)); \ + _sp_[-_args_]=_; \ + } while(0) + #if PIKE_T_INT+NUMBER_NUMBER==0 && defined(HAS___BUILTIN_MEMSET) #define push_zeroes(N) do{ \ ptrdiff_t num_ = (N); \