]> granicus.if.org Git - php/commitdiff
Add some macros for nicer zval handling
authorZeev Suraski <zeev@php.net>
Thu, 20 Apr 2000 14:32:39 +0000 (14:32 +0000)
committerZeev Suraski <zeev@php.net>
Thu, 20 Apr 2000 14:32:39 +0000 (14:32 +0000)
Zend/zend_operators.h

index 6e14afcf9662cade361c89001084c8788fe5faa5..ed92af392e8e57ad84d288b05ed80ee94a7e8813 100644 (file)
@@ -118,4 +118,28 @@ ZEND_API void zendi_smart_strcmp(zval *result, zval *s1, zval *s2);
                convert_scalar_to_number(*ppzv);                                                        \
        }
 
+
+
+#define ZLVAL(zval)            (zval).value.lval
+#define ZDVAL(zval)            (zval).value.dval
+#define ZSTRVAL(zval)  (zval).value.str.val
+#define ZSTRLEN(zval)  (zval).value.str.len
+#define ZARRVAL(zval)  (zval).value.ht
+
+#define ZLVAL_P(zval_p)                ZLVAL(*zval_p)
+#define ZDVAL_P(zval_p)                ZDVAL(*zval_p)
+#define ZSTRVAL_P(zval_p)      ZSTRVAL(*zval_p)
+#define ZSTRLEN_P(zval_p)      ZSTRLEN(*zval_p)
+#define ZARRVA_PL(zval_p)      ZARRVAL(*zval_p)
+
+#define ZLVAL_PP(zval_pp)      ZLVAL(**zval_pp)
+#define ZDVAL_PP(zval_pp)      ZDVAL(**zval_pp)
+#define ZSTRVAL_PP(zval_pp)    ZSTRVAL(**zval_pp)
+#define ZSTRLEN_PP(zval_pp)    ZSTRLEN(**zval_pp)
+#define ZARRVAL_PP(zval_pp)    ZARRVAL(**zval_pp)
+
+#define ZTYPE(zval)                    (zval).type
+#define ZTYPE_P(zval_p)                ZTYPE(*zval_p)
+#define ZTYPE_PP(zval_pp)      ZTYPE(**zval_pp)
+
 #endif