X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_object.c;h=9282e5d66c9ee3f3b0a7db84c09bf8c285377eb3;hb=d2aca1740aad980f8ec182c2f9ffac20f15a4a54;hp=5a1a2799b533357cf19ded1d1e20d282dc168bbc;hpb=d3485e3b28336153dca690e872ffe1ddc60fedd2;p=m6w6%2Fext-http diff --git a/php_http_object.c b/php_http_object.c index 5a1a279..9282e5d 100644 --- a/php_http_object.c +++ b/php_http_object.c @@ -144,24 +144,20 @@ PHP_METHOD(HttpObject, setErrorHandling) long eh; zval *old; - if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &eh)) { - RETURN_FALSE; + if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &eh)) { + switch (eh) { + case EH_NORMAL: + case EH_SUPPRESS: + case EH_THROW: + zend_update_property_long(php_http_object_class_entry, getThis(), ZEND_STRL("errorHandling"), eh TSRMLS_CC); + break; + + default: + php_http_error(HE_WARNING, PHP_HTTP_E_RUNTIME, "unknown error handling code (%ld)", eh); + } } - switch (eh) { - case EH_NORMAL: - case EH_SUPPRESS: - case EH_THROW: - break; - default: - php_http_error(HE_WARNING, PHP_HTTP_E_RUNTIME, "unknown error handling code (%ld)", eh); - RETURN_FALSE; - } - - old = zend_read_property(php_http_object_class_entry, getThis(), ZEND_STRL("errorHandling"), 0 TSRMLS_CC); - Z_ADDREF_P(old); - zend_update_property_long(php_http_object_class_entry, getThis(), ZEND_STRL("errorHandling"), eh TSRMLS_CC); - RETURN_ZVAL(old, 0, 0); + RETURN_ZVAL(getThis(), 1, 0); } PHP_METHOD(HttpObject, getDefaultErrorHandling) @@ -174,25 +170,20 @@ PHP_METHOD(HttpObject, setDefaultErrorHandling) long eh; zval *old; - if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &eh)) { - RETURN_FALSE; - } + if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &eh)) { + switch (eh) { + case EH_NORMAL: + case EH_SUPPRESS: + case EH_THROW: + zend_update_static_property_long(php_http_object_class_entry, ZEND_STRL("defaultErrorHandling"), eh TSRMLS_CC); + break; - switch (eh) { - case EH_NORMAL: - case EH_SUPPRESS: - case EH_THROW: - break; - default: - php_http_error(HE_WARNING, PHP_HTTP_E_RUNTIME, "unknown error handling code (%ld)", eh); - RETURN_FALSE; + default: + php_http_error(HE_WARNING, PHP_HTTP_E_RUNTIME, "unknown error handling code (%ld)", eh); + } } - - old = zend_read_static_property(php_http_object_class_entry, ZEND_STRL("defaultErrorHandling"), 0 TSRMLS_CC); - Z_ADDREF_P(old); - zend_update_static_property_long(php_http_object_class_entry, ZEND_STRL("defaultErrorHandling"), eh TSRMLS_CC); - RETURN_ZVAL(old, 0, 1); } + PHP_MINIT_FUNCTION(http_object) { PHP_HTTP_REGISTER_CLASS(http, Object, http_object, NULL, ZEND_ACC_ABSTRACT);