Merge branch 'master' into phpng
[m6w6/ext-http] / php_http_misc.h
index 1a74c34d8262b88c5543289707627d586214c9eb..421c9912cf57082283554c2c4ca759c82a098c4e 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)
@@ -163,7 +166,7 @@ static inline ZEND_RESULT_CODE php_http_ini_entry(const char *name_str, size_t n
 {
        zend_ini_entry *ini_entry;
 
-       if (ini_entry == zend_hash_str_find_ptr(EG(ini_directives), name_str, name_len)) {
+       if ((ini_entry = zend_hash_str_find_ptr(EG(ini_directives), name_str, name_len))) {
                if (orig && ini_entry->modified) {
                        *val_str = ini_entry->orig_value->val;
                        *val_len = ini_entry->orig_value->len;
@@ -176,6 +179,9 @@ static inline ZEND_RESULT_CODE php_http_ini_entry(const char *name_str, size_t n
        return FAILURE;
 }
 
+#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); \
@@ -222,7 +228,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);