X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_property_proxy.c;h=fc75f6daeb511298c156eabe2c7b2a92b4e265b0;hb=707ee66a824e2bb5daad723f75682aea777b09a3;hp=196cccea223e23c7de161c70113c3b9135ed3793;hpb=d3485e3b28336153dca690e872ffe1ddc60fedd2;p=m6w6%2Fext-http diff --git a/php_http_property_proxy.c b/php_http_property_proxy.c index 196ccce..fc75f6d 100644 --- a/php_http_property_proxy.c +++ b/php_http_property_proxy.c @@ -1,6 +1,16 @@ - -#include "php_http.h" - +/* + +--------------------------------------------------------------------+ + | PECL :: http | + +--------------------------------------------------------------------+ + | Redistribution and use in source and binary forms, with or without | + | modification, are permitted provided that the conditions mentioned | + | in the accompanying LICENSE file are met. | + +--------------------------------------------------------------------+ + | Copyright (c) 2004-2011, Michael Wallner | + +--------------------------------------------------------------------+ +*/ + +#include "php_http_api.h" php_http_property_proxy_t *php_http_property_proxy_init(php_http_property_proxy_t *proxy, zval *object, zval *member TSRMLS_DC) { @@ -13,7 +23,7 @@ php_http_property_proxy_t *php_http_property_proxy_init(php_http_property_proxy_ ZVAL_OBJVAL(proxy->myself, php_http_property_proxy_object_new_ex(php_http_property_proxy_class_entry, proxy, NULL TSRMLS_CC), 0); Z_ADDREF_P(object); proxy->object = object; - proxy->member = php_http_zsep(IS_STRING, member); + proxy->member = php_http_ztyp(IS_STRING, member); return proxy; } @@ -103,7 +113,7 @@ static STATUS php_http_property_proxy_object_cast(zval *object, zval *return_val zval *old_value, *new_value; old_value = php_http_property_proxy_object_get(object TSRMLS_CC); - new_value = php_http_zsep(type, old_value); + new_value = php_http_ztyp(type, old_value); if (old_value != new_value) { zval_ptr_dtor(&old_value); @@ -126,8 +136,8 @@ static zval *php_http_property_proxy_object_read_dimension(zval *object, zval *o retval = *data; } } else { - offset = php_http_zsep(IS_STRING, offset); - if (SUCCESS == zend_hash_find(Z_ARRVAL_P(property), Z_STRVAL_P(offset), Z_STRLEN_P(offset), (void *) &data)) { + offset = php_http_ztyp(IS_STRING, offset); + if (SUCCESS == zend_symtable_find(Z_ARRVAL_P(property), Z_STRVAL_P(offset), Z_STRLEN_P(offset), (void *) &data)) { retval = *data; } zval_ptr_dtor(&offset); @@ -149,6 +159,7 @@ static void php_http_property_proxy_object_write_dimension(zval *object, zval *o switch (Z_TYPE_P(property)) { case IS_NULL: array_init(property); + /* no break */ case IS_ARRAY: Z_ADDREF_P(value); if (!offset) { @@ -156,7 +167,7 @@ static void php_http_property_proxy_object_write_dimension(zval *object, zval *o } else if (Z_TYPE_P(offset) == IS_LONG) { add_index_zval(property, Z_LVAL_P(offset), value); } else { - offset = php_http_zsep(IS_STRING, offset); + offset = php_http_ztyp(IS_STRING, offset); add_assoc_zval_ex(property, Z_STRVAL_P(offset), Z_STRLEN_P(offset) + 1, value); zval_ptr_dtor(&offset); } @@ -175,7 +186,7 @@ PHP_METHOD(HttpPropertyProxy, __construct) PHP_MINIT_FUNCTION(http_property_proxy) { - PHP_HTTP_REGISTER_CLASS(http\\object, PropertyProxy, http_property_proxy, NULL, ZEND_ACC_FINAL); + PHP_HTTP_REGISTER_CLASS(http\\Object, PropertyProxy, http_property_proxy, NULL, ZEND_ACC_FINAL); php_http_property_proxy_class_entry->create_object = php_http_property_proxy_object_new; memcpy(&php_http_property_proxy_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); php_http_property_proxy_object_handlers.set = php_http_property_proxy_object_set; @@ -187,3 +198,13 @@ PHP_MINIT_FUNCTION(http_property_proxy) return SUCCESS; } + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ +