]> granicus.if.org Git - php/commitdiff
the new SET_VAR_* macros forgot to set the refcount!
authorThies C. Arntzen <thies@php.net>
Sat, 4 Dec 1999 13:18:08 +0000 (13:18 +0000)
committerThies C. Arntzen <thies@php.net>
Sat, 4 Dec 1999 13:18:08 +0000 (13:18 +0000)
Zend/zend_API.h

index 876ca8cab44c66b9cfa1f571b63989abf460d43b..4238522fadb500b0f5f4912dc3cb990624032ab3 100644 (file)
@@ -197,8 +197,9 @@ ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length,
 
 #define SET_VAR_STRING(n,v)    {                                                                                                                                                               \
                                                                {                                                                                                                                                       \
-                                                                       zval *var = (zval *) emalloc(sizeof(zval));                                                             \
+                                                                       zval *var;                                                                                                                              \
                                                                        char *str=(v); /* prevent 'v' from being evaluated more than once */    \
+                                                                       MAKE_STD_ZVAL(var);                                                                                                     \
                                                                                                                                                                                                                        \
                                                                        var->value.str.val = (str);                                                                                             \
                                                                        var->value.str.len = strlen((str));                                                                             \
@@ -209,7 +210,8 @@ ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length,
 
 #define SET_VAR_STRINGL(n,v,l) {                                                                                                               \
                                                                        {                                                                                                       \
-                                                                               zval *var = (zval *) emalloc(sizeof(zval));             \
+                                                                               zval *var;                                                                              \
+                                                                               MAKE_STD_ZVAL(var);                                                             \
                                                                                                                                                                                \
                                                                                var->value.str.val = (v);                                               \
                                                                                var->value.str.len = (l);                                               \
@@ -220,7 +222,8 @@ ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length,
 
 #define SET_VAR_LONG(n,v)      {                                                                                                                       \
                                                                {                                                                                                               \
-                                                                       zval *var = (zval *) emalloc(sizeof(zval));                     \
+                                                                       zval *var;                                                                                      \
+                                                                       MAKE_STD_ZVAL(var);                                                                     \
                                                                                                                                                                                \
                                                                        var->value.lval = (v);                                                          \
                                                                        var->type = IS_LONG;                                                            \
@@ -230,7 +233,8 @@ ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length,
 
 #define SET_VAR_DOUBLE(n,v)    {                                                                                                                       \
                                                                {                                                                                                               \
-                                                                       zval *var = (zval *) emalloc(sizeof(zval));                     \
+                                                                       zval *var;                                                                                      \
+                                                                       MAKE_STD_ZVAL(var);                                                                     \
                                                                                                                                                                                \
                                                                        var->value.dval = (v);                                                          \
                                                                        var->type = IS_DOUBLE;                                                          \