X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_message_object.c;h=aa63cab0b47fc8b98c325a6371a313606912954d;hp=bd15becf2e3e62747989e1fff4c7640597a2acc2;hb=6e9ea0a647db55213dd230145c35a419d7abde4d;hpb=e7e38363a2e833933519deb5f649d34fd7cc658d diff --git a/http_message_object.c b/http_message_object.c index bd15bec..aa63cab 100644 --- a/http_message_object.c +++ b/http_message_object.c @@ -16,19 +16,16 @@ #ifdef HAVE_CONFIG_H # include "config.h" #endif -#include "php.h" + +#include "php_http.h" #ifdef ZEND_ENGINE_2 -#include "php_http.h" #include "php_http_api.h" -#include "php_http_std_defs.h" +#include "php_http_message_api.h" #include "php_http_message_object.h" #include "php_http_exception_object.h" -#include "phpstr/phpstr.h" -#include "missing.h" - #ifndef WONKY # include "zend_interfaces.h" # if defined(HAVE_SPL) @@ -37,8 +34,6 @@ extern PHPAPI zend_class_entry *spl_ce_Countable; # endif #endif -ZEND_EXTERN_MODULE_GLOBALS(http); - #define HTTP_BEGIN_ARGS(method, ret_ref, req_args) HTTP_BEGIN_ARGS_EX(HttpMessage, method, ret_ref, req_args) #define HTTP_EMPTY_ARGS(method, ret_ref) HTTP_EMPTY_ARGS_EX(HttpMessage, method, ret_ref) #define HTTP_MESSAGE_ME(method, visibility) PHP_ME(HttpMessage, method, HTTP_ARGS(HttpMessage, method), visibility) @@ -373,10 +368,7 @@ static void _http_message_object_write_prop(zval *object, zval *member, zval *va } #endif - ALLOC_ZVAL(cpy); - *cpy = *value; - zval_copy_ctor(cpy); - INIT_PZVAL(cpy); + cpy = zval_copy(Z_TYPE_P(value), value); #ifdef WONKY switch (h) @@ -461,7 +453,7 @@ static void _http_message_object_write_prop(zval *object, zval *member, zval *va #endif break; } - zval_ptr_dtor(&cpy); + zval_free(&cpy); } static HashTable *_http_message_object_get_props(zval *object TSRMLS_DC) @@ -479,7 +471,7 @@ static HashTable *_http_message_object_get_props(zval *object TSRMLS_DC) char *m_prop_name; \ int m_prop_len; \ zend_mangle_property_name(&m_prop_name, &m_prop_len, "*", 1, name, lenof(name), 0); \ - add_assoc_ ##ptype## _ex(&array, m_prop_name, sizeof(name)+4, val); \ + add_assoc_ ##ptype## _ex(&array, m_prop_name, sizeof(name)+3, val); \ efree(m_prop_name); \ } #define ASSOC_STRING(array, name, val) ASSOC_STRINGL(array, name, val, strlen(val)) @@ -488,7 +480,7 @@ static HashTable *_http_message_object_get_props(zval *object TSRMLS_DC) char *m_prop_name; \ int m_prop_len; \ zend_mangle_property_name(&m_prop_name, &m_prop_len, "*", 1, name, lenof(name), 0); \ - add_assoc_stringl_ex(&array, m_prop_name, sizeof(name)+4, val, len, 1); \ + add_assoc_stringl_ex(&array, m_prop_name, sizeof(name)+3, val, len, 1); \ efree(m_prop_name); \ } @@ -554,7 +546,7 @@ PHP_METHOD(HttpMessage, __construct) http_message *msg = obj->message; http_message_dtor(msg); - if (obj->message = http_message_parse_ex(msg, message, length)) { + if ((obj->message = http_message_parse_ex(msg, message, length))) { if (obj->message->parent) { obj->parent = http_message_object_new_ex(Z_OBJCE_P(getThis()), obj->message->parent, NULL); } @@ -590,7 +582,7 @@ PHP_METHOD(HttpMessage, fromString) SET_EH_THROW_HTTP(); if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &string, &length)) { - if (msg = http_message_parse(string, length)) { + if ((msg = http_message_parse(string, length))) { ZVAL_OBJVAL(return_value, http_message_object_new_ex(http_message_object_ce, msg, NULL)); } }