fix cookies
[m6w6/ext-http] / php_http_header.c
index 709b85bb3cea22f528bd3b13bb2adaeaa77ec16e..6d47d99f2a78d399ca5d5fc24268aac6f97fcb66 100644 (file)
@@ -72,12 +72,12 @@ void php_http_header_to_callback(HashTable *headers, zend_bool crlf, php_http_pa
                                        }
                                }
                                ZEND_HASH_FOREACH_END();
-                       }
-               } else {
-                       zend_string *zs = php_http_header_value_to_string(header);
+                       } else {
+                               zend_string *zs = php_http_header_value_to_string(header);
 
-                       cb(cb_arg, crlf ? "%s: %s" PHP_HTTP_CRLF : "%s: %s", key.key->val, zs->val);
-                       zend_string_release(zs);
+                               cb(cb_arg, crlf ? "%s: %s" PHP_HTTP_CRLF : "%s: %s", key.key->val, zs->val);
+                               zend_string_release(zs);
+                       }
                }
        }
        ZEND_HASH_FOREACH_END();
@@ -187,7 +187,7 @@ PHP_METHOD(HttpHeader, unserialize)
                                zend_ulong idx;
 
                                zend_hash_internal_pointer_reset(&ht);
-                               switch (zend_hash_get_current_key_ex(&ht, &key, &idx, NULL)) {
+                               switch (zend_hash_get_current_key(&ht, &key, &idx)) {
                                        case HASH_KEY_IS_STRING:
                                                zend_update_property_str(php_http_header_class_entry, getThis(), ZEND_STRL("name"), key);
                                                break;
@@ -243,6 +243,7 @@ PHP_METHOD(HttpHeader, negotiate)
                return;
        }
        if (rs_array) {
+               ZVAL_DEREF(rs_array);
                zval_dtor(rs_array);
                array_init(rs_array);
        }