Fix missing IS_BOOL
[m6w6/ext-http] / php_http_env_request.c
index 6e2af5379c9ce415583dc561444484f1bf3ba58d..6d1fc583c6a6da84b86a564542bd94278920f9a4 100644 (file)
@@ -33,15 +33,15 @@ static int grab_file(zval *tmp_name, int argc, va_list argv, zend_hash_key *key)
 
                array_init(&entry);
 
-               Z_ADDREF_P(tmp_name);
+               Z_TRY_ADDREF_P(tmp_name);
                add_assoc_zval_ex(&entry, ZEND_STRL("file"), tmp_name);
-               Z_ADDREF_P(zname);
+               Z_TRY_ADDREF_P(zname);
                add_assoc_zval_ex(&entry, ZEND_STRL("name"), zname);
-               Z_ADDREF_P(zsize);
+               Z_TRY_ADDREF_P(zsize);
                add_assoc_zval_ex(&entry, ZEND_STRL("size"), zsize);
-               Z_ADDREF_P(ztype);
+               Z_TRY_ADDREF_P(ztype);
                add_assoc_zval_ex(&entry, ZEND_STRL("type"), ztype);
-               Z_ADDREF_P(zerror);
+               Z_TRY_ADDREF_P(zerror);
                add_assoc_zval_ex(&entry, ZEND_STRL("error"), zerror);
 
                if (file_key->key && (array = zend_hash_find(Z_ARRVAL_P(zfiles), file_key->key))) {
@@ -64,7 +64,7 @@ static int grab_file(zval *tmp_name, int argc, va_list argv, zend_hash_key *key)
        return ZEND_HASH_APPLY_KEEP;
 }
 
-static int grab_files(zval *val TSRMLS_DC, int argc, va_list argv, zend_hash_key *key)
+static int grab_files(zval *val, int argc, va_list argv, zend_hash_key *key)
 {
        zval *zfiles, *name, *tmp_name, *error, *type, *size;
 
@@ -91,18 +91,18 @@ static int grab_files(zval *val TSRMLS_DC, int argc, va_list argv, zend_hash_key
                                return ZEND_HASH_APPLY_STOP;
                        }
                } else  {
-                       zval *tmp;
+                       zval *tmp, entry;
 
-                       SEPARATE_ZVAL(val);
+                       ZVAL_DUP(&entry, val);
                        if ((tmp = zend_hash_str_find(Z_ARRVAL_P(val), ZEND_STRL("tmp_name")))) {
                                Z_ADDREF_P(tmp);
-                               add_assoc_zval_ex(val, ZEND_STRL("file"), tmp);
-                               zend_hash_str_del(Z_ARRVAL_P(val), ZEND_STRL("tmp_name"));
+                               add_assoc_zval_ex(&entry, ZEND_STRL("file"), tmp);
+                               zend_hash_str_del(Z_ARRVAL(entry), ZEND_STRL("tmp_name"));
                        }
                        if (key->key) {
-                               zend_hash_update(Z_ARRVAL_P(zfiles), key->key, val);
+                               zend_hash_update(Z_ARRVAL_P(zfiles), key->key, &entry);
                        } else {
-                               zend_hash_index_update(Z_ARRVAL_P(zfiles), key->h, val);
+                               zend_hash_index_update(Z_ARRVAL_P(zfiles), key->h, &entry);
                        }
                }
        }
@@ -164,7 +164,7 @@ static PHP_METHOD(HttpEnvRequest, __construct)
                zend_fcall_info_cache fcc; \
                zval rv, mn, *args = ecalloc(sizeof(zval), ZEND_NUM_ARGS()); \
                zval *this_ptr = getThis(); \
-               zval *qs = zend_read_property(Z_OBJCE_P(this_ptr), this_ptr, ZEND_STRL(prop), 0); \
+               zval qs_tmp, *qs = zend_read_property(Z_OBJCE_P(this_ptr), this_ptr, ZEND_STRL(prop), 0, &qs_tmp); \
                 \
                array_init(&mn); \
                Z_TRY_ADDREF_P(qs); \
@@ -191,7 +191,7 @@ static PHP_METHOD(HttpEnvRequest, getForm)
        if (ZEND_NUM_ARGS()) {
                call_querystring_get("form");
        } else {
-               zval *zform = zend_read_property(php_http_env_request_class_entry, getThis(), ZEND_STRL("form"), 0);
+               zval zform_tmp, *zform = zend_read_property(php_http_env_request_class_entry, getThis(), ZEND_STRL("form"), 0, &zform_tmp);
                RETURN_ZVAL_FAST(zform);
        }
 }
@@ -207,7 +207,7 @@ static PHP_METHOD(HttpEnvRequest, getQuery)
        if (ZEND_NUM_ARGS()) {
                call_querystring_get("query");
        } else {
-               zval *zquery = zend_read_property(php_http_env_request_class_entry, getThis(), ZEND_STRL("query"), 0);
+               zval zquery_tmp, *zquery = zend_read_property(php_http_env_request_class_entry, getThis(), ZEND_STRL("query"), 0, &zquery_tmp);
                RETURN_ZVAL_FAST(zquery);
        }
 }
@@ -223,7 +223,7 @@ static PHP_METHOD(HttpEnvRequest, getCookie)
        if (ZEND_NUM_ARGS()) {
                call_querystring_get("cookie");
        } else {
-               zval *zcookie = zend_read_property(php_http_env_request_class_entry, getThis(), ZEND_STRL("cookie"), 0);
+               zval zcookie_tmp, *zcookie = zend_read_property(php_http_env_request_class_entry, getThis(), ZEND_STRL("cookie"), 0, &zcookie_tmp);
                RETURN_ZVAL_FAST(zcookie);
        }
 }
@@ -233,7 +233,7 @@ ZEND_END_ARG_INFO();
 static PHP_METHOD(HttpEnvRequest, getFiles)
 {
        if (SUCCESS == zend_parse_parameters_none()) {
-               zval *zfiles = zend_read_property(php_http_env_request_class_entry, getThis(), ZEND_STRL("files"), 0);
+               zval zfiles_tmp, *zfiles = zend_read_property(php_http_env_request_class_entry, getThis(), ZEND_STRL("files"), 0, &zfiles_tmp);
                RETURN_ZVAL_FAST(zfiles);
        }
 }