From 8b54e95fe404dd0bb71f0b87bc6ec588dc53e421 Mon Sep 17 00:00:00 2001
From: "Stephen R. van den Berg" <srb@cuci.nl>
Date: Tue, 26 Aug 2014 02:20:25 +0200
Subject: [PATCH] Add stack_revroll().

---
 src/interpret.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/interpret.h b/src/interpret.h
index 3d0a6c62c2..8c9455170e 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);					\
-- 
GitLab