fix leaks
[m6w6/ext-http] / php_http_misc.h
index 32f2bc5d2ee0da75892b2892648315421184db39..e8d900b5813848c48b95b57566c164dd8e7e689f 100644 (file)
@@ -27,6 +27,9 @@
 /* send buffer size */
 #define PHP_HTTP_SENDBUF_SIZE 40960
 
+/* allowed characters of header field names */
+#define PHP_HTTP_HEADER_NAME_CHARS "!#$%&'*+-.^_`|~1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
 /* SLEEP */
 
 #define PHP_HTTP_DIFFSEC (0.001)
@@ -136,6 +139,11 @@ static inline const char *php_http_locate_bin_eol(const char *bin, size_t len, i
 
 /* ZEND */
 
+#ifdef PHP_DEBUG
+#      undef  HASH_OF
+#      define HASH_OF(p) ((HashTable*)(Z_TYPE_P(p)==IS_ARRAY ? Z_ARRVAL_P(p) : ((Z_TYPE_P(p)==IS_OBJECT ? Z_OBJ_HT_P(p)->get_properties((p)) : NULL))))
+#endif
+
 static inline void *PHP_HTTP_OBJ(zend_object *zo, zval *zv)
 {
        if (!zo) {
@@ -179,12 +187,6 @@ static inline ZEND_RESULT_CODE php_http_ini_entry(const char *name_str, size_t n
 #define Z_ISUSER(zv) (Z_TYPE(zv) <= 10)
 #define Z_ISUSER_P(zvp) Z_ISUSER(*(zvp))
 
-#define RETVAL_STR_COPY(zs) ZVAL_STR_COPY(return_value, zs)
-#define RETURN_STR_COPY(zs) do { \
-       ZVAL_STR_COPY(return_value, zs); \
-       return; \
-}
-
 /* return object(values) */
 #define ZVAL_OBJECT(z, o, addref) \
        ZVAL_OBJ(z, o); \
@@ -225,7 +227,7 @@ static inline void *php_http_arrkey_stringify(php_http_arrkey_t *arrkey, zend_ha
        }
 
        if (key) {
-               memcpy(&arrkey, key, sizeof(*key));
+               memcpy(arrkey, key, sizeof(*key));
        }
        if ((arrkey->stringified = !arrkey->key)) {
                arrkey->key = zend_long_to_str(arrkey->h);