summaryrefslogtreecommitdiffstats
path: root/luasandbox_compat.h
diff options
context:
space:
mode:
Diffstat (limited to 'luasandbox_compat.h')
-rw-r--r--luasandbox_compat.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/luasandbox_compat.h b/luasandbox_compat.h
new file mode 100644
index 0000000..b0a13c2
--- /dev/null
+++ b/luasandbox_compat.h
@@ -0,0 +1,36 @@
+// Macros to hide the differences between PHP versions
+// Implementation details, include only from .c files
+#ifndef LUASANDBOX_COMPAT_H
+#define LUASANDBOX_COMPAT_H
+
+#if PHP_VERSION_ID < 80000
+
+ #define luasandbox_update_property(scope, object, name, name_length, value) \
+ zend_update_property(scope, object, name, name_length, value)
+
+ #define luasandbox_update_property_string(scope, object, name, name_length, value) \
+ zend_update_property_string(scope, object, name, name_length, value)
+
+ #define luasandbox_update_property_long(scope, object, name, name_length, value) \
+ zend_update_property_long(scope, object, name, name_length, value)
+
+ #define luasandbox_read_property(scope, object, name, name_length, silent, rv) \
+ zend_read_property(scope, object, name, name_length, silent, rv)
+
+#else
+
+ #define luasandbox_update_property(scope, object, name, name_length, value) \
+ zend_update_property(scope, Z_OBJ_P(object), name, name_length, value)
+
+ #define luasandbox_update_property_string(scope, object, name, name_length, value) \
+ zend_update_property_string(scope, Z_OBJ_P(object), name, name_length, value)
+
+ #define luasandbox_update_property_long(scope, object, name, name_length, value) \
+ zend_update_property_long(scope, Z_OBJ_P(object), name, name_length, value)
+
+ #define luasandbox_read_property(scope, object, name, name_length, silent, rv) \
+ zend_read_property(scope, Z_OBJ_P(object), name, name_length, silent, rv)
+
+#endif
+
+#endif // LUASANDBOX_COMPAT_H