From 11773c35405df65eeebfe0eba4665147ed6f67ab Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Sat, 7 Feb 2015 10:59:48 +0800 Subject: [PATCH] porting --- requests/yaf_request_simple.c | 2 +- responses/yaf_response_http.c | 68 +++---- yaf_request.c | 322 ++++++++++++++++++---------------- yaf_request.h | 5 +- yaf_response.c | 154 ++++++++-------- yaf_response.h | 10 +- 6 files changed, 294 insertions(+), 267 deletions(-) diff --git a/requests/yaf_request_simple.c b/requests/yaf_request_simple.c index 0a580a83..ea5427e0 100644 --- a/requests/yaf_request_simple.c +++ b/requests/yaf_request_simple.c @@ -274,7 +274,7 @@ YAF_STARTUP_FUNCTION(request_simple){ zend_class_entry ce; YAF_INIT_CLASS_ENTRY(ce, "Yaf_Request_Simple", "Yaf\\Request\\Simple", yaf_request_simple_methods); yaf_request_simple_ce = zend_register_internal_class_ex(&ce, yaf_request_ce TSRMLS_CC); - yaf_request_simple_ce->ce_flags |= ZEND_ACC_FINAL_CLASS; + yaf_request_simple_ce->ce_flags |= ZEND_ACC_FINAL; zend_declare_class_constant_string(yaf_request_simple_ce, ZEND_STRL("SCHEME_HTTP"), "http" TSRMLS_CC); zend_declare_class_constant_string(yaf_request_simple_ce, ZEND_STRL("SCHEME_HTTPS"), "https" TSRMLS_CC); diff --git a/responses/yaf_response_http.c b/responses/yaf_response_http.c index 95a126b7..9c934b85 100644 --- a/responses/yaf_response_http.c +++ b/responses/yaf_response_http.c @@ -57,12 +57,12 @@ ZEND_BEGIN_ARG_INFO_EX(yaf_response_http_set_redirect_arginfo, 0, 0, 1) ZEND_END_ARG_INFO() /* }}} */ -/** {{{ zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) +/** {{{ zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_len) */ -zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) { +zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_len) { zval *pzval; - zval *zheaders = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1 TSRMLS_CC); + zval *zheaders = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1); if (IS_ARRAY != Z_TYPE_P(zheaders)) { return NULL; @@ -80,11 +80,11 @@ zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_l } /* }}} */ -/** {{{ int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) +/** {{{ int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_len) */ -int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) { +int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_len) { zval *zheader; - zheader = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1 TSRMLS_CC); + zheader = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1); if (name_len) { zend_hash_str_del(Z_ARRVAL_P(zheader), name, name_len); @@ -95,9 +95,9 @@ int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_le } /* }}} */ -/** {{{ int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_len, char *value, long value_len, int flag TSRMLS_DC) +/** {{{ int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_len, char *value, long value_len, int flag) */ -int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_len, char *value, long value_len, uint rep TSRMLS_DC) { +int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_len, char *value, long value_len, uint rep) { zval *z_headers, *pzval; zend_string *oheader; @@ -105,7 +105,7 @@ int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_le return 1; } - z_headers = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1 TSRMLS_CC); + z_headers = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1); if ((pzval = zend_hash_str_find(Z_ARRVAL_P(z_headers), name, name_len)) == NULL) { add_assoc_stringl_ex(z_headers, name, name_len, value, value_len); @@ -131,14 +131,14 @@ int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_le } /* }}} */ -/** {{{ int yaf_response_set_redirect(yaf_response_t *response, char *url, int len TSRMLS_DC) +/** {{{ int yaf_response_set_redirect(yaf_response_t *response, char *url, int len) */ -int yaf_response_set_redirect(yaf_response_t *response, char *url, int len TSRMLS_DC) { +int yaf_response_set_redirect(yaf_response_t *response, char *url, int len) { sapi_header_line ctr = {0}; ctr.line_len = spprintf(&(ctr.line), 0, "%s %s", "Location:", url); ctr.response_code = 0; - if (sapi_header_op(SAPI_HEADER_REPLACE, &ctr TSRMLS_CC) == SUCCESS) { + if (sapi_header_op(SAPI_HEADER_REPLACE, &ctr) == SUCCESS) { efree(ctr.line); return 1; } @@ -147,19 +147,19 @@ int yaf_response_set_redirect(yaf_response_t *response, char *url, int len TSRML } /* }}} */ -/** {{{ int yaf_response_http_send(yaf_response_t *response TSRMLS_DC) +/** {{{ int yaf_response_http_send(yaf_response_t *response) */ -int yaf_response_http_send(yaf_response_t *response TSRMLS_DC) { +int yaf_response_http_send(yaf_response_t *response) { zval *zresponse_code, *zheader, *zbody; zval *val, *entry; zend_string *header_name; ulong num_key; sapi_header_line ctr = {0}; - zresponse_code = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), 1 TSRMLS_CC); + zresponse_code = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), 1); SG(sapi_headers).http_response_code = Z_LVAL_P(zresponse_code); - zheader = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1 TSRMLS_CC); + zheader = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1); ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(zheader), num_key, header_name, entry) { if (header_name) { @@ -169,19 +169,19 @@ int yaf_response_http_send(yaf_response_t *response TSRMLS_DC) { } ctr.response_code = 0; - if (sapi_header_op(SAPI_HEADER_REPLACE, &ctr TSRMLS_CC) != SUCCESS) { + if (sapi_header_op(SAPI_HEADER_REPLACE, &ctr) != SUCCESS) { efree(ctr.line); return 0; } } ZEND_HASH_FOREACH_END(); efree(ctr.line); - zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1 TSRMLS_CC); + zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1); zend_hash_internal_pointer_reset(Z_ARRVAL_P(zbody)); while ((val = zend_hash_get_current_data(Z_ARRVAL_P(zbody))) != NULL) { convert_to_string_ex(val); - php_write(Z_STRVAL_P(val), Z_STRLEN_P(val) TSRMLS_CC); + php_write(Z_STRVAL_P(val), Z_STRLEN_P(val)); zend_hash_move_forward(Z_ARRVAL_P(zbody)); } @@ -198,17 +198,17 @@ PHP_METHOD(yaf_response_http, setHeader) { zend_bool rep = 1; yaf_response_t *self; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|bz", &name, &name_len, &value, &value_len, &rep, &response_code) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|bz", &name, &name_len, &value, &value_len, &rep, &response_code) == FAILURE) { return; } self = getThis(); if (response_code) { - zend_update_property(yaf_response_ce, self, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), response_code TSRMLS_CC); + zend_update_property(yaf_response_ce, self, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), response_code); } - if (yaf_response_alter_header(self, name, name_len, value, value_len, rep ? 1 : 0 TSRMLS_CC)) { + if (yaf_response_alter_header(self, name, name_len, value, value_len, rep ? 1 : 0)) { RETURN_TRUE; } @@ -226,7 +226,7 @@ PHP_METHOD(yaf_response_http, setAllHeaders) { yaf_response_t *self; zval e; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &headers) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a", &headers) == FAILURE) { return; } @@ -238,10 +238,10 @@ PHP_METHOD(yaf_response_http, setAllHeaders) { if (Z_TYPE_P(entry) != IS_STRING) { zval_copy_ctor(&e); _convert_to_string(&e ZEND_FILE_LINE_CC); - yaf_response_alter_header(self, name->val, name->len, Z_STRVAL(e), Z_STRLEN(e), 1 TSRMLS_CC); + yaf_response_alter_header(self, name->val, name->len, Z_STRVAL(e), Z_STRLEN(e), 1); zval_dtor(&e); } else { - yaf_response_alter_header(self, name->val, name->len, Z_STRVAL(e), Z_STRLEN(e), 1 TSRMLS_CC); + yaf_response_alter_header(self, name->val, name->len, Z_STRVAL(e), Z_STRLEN(e), 1); } } } ZEND_HASH_FOREACH_END(); @@ -257,11 +257,11 @@ PHP_METHOD(yaf_response_http, getHeader) { char *name = NULL; size_t name_len = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &name, &name_len) == FAILURE) { return; } - header = yaf_response_get_header(getThis(), name, name_len TSRMLS_CC); + header = yaf_response_get_header(getThis(), name, name_len); if (header) { RETURN_ZVAL(header, 1, 0); @@ -274,7 +274,7 @@ PHP_METHOD(yaf_response_http, getHeader) { /** {{{ proto public Yaf_Response_Http::clearHeaders(void) */ PHP_METHOD(yaf_response_http, clearHeaders) { - if (yaf_response_clear_header(getThis(), NULL, 0 TSRMLS_CC)) { + if (yaf_response_clear_header(getThis(), NULL, 0)) { RETURN_ZVAL(getThis(), 1, 0); } @@ -288,7 +288,7 @@ PHP_METHOD(yaf_response_http, setRedirect) { char *url; size_t url_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &url, &url_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &url, &url_len) == FAILURE) { return; } @@ -296,14 +296,14 @@ PHP_METHOD(yaf_response_http, setRedirect) { RETURN_FALSE; } - RETURN_BOOL(yaf_response_set_redirect(getThis(), url, url_len TSRMLS_CC)); + RETURN_BOOL(yaf_response_set_redirect(getThis(), url, url_len)); } /* }}} */ /** {{{ proto public Yaf_Response_Http::response(void) */ PHP_METHOD(yaf_response_http, response) { - RETURN_BOOL(yaf_response_http_send(getThis() TSRMLS_CC)); + RETURN_BOOL(yaf_response_http_send(getThis())); } /* }}} */ @@ -327,10 +327,10 @@ YAF_STARTUP_FUNCTION(response_http) { YAF_INIT_CLASS_ENTRY(ce, "Yaf_Response_Http", "Yaf\\Response\\Http", yaf_response_http_methods); - yaf_response_http_ce = zend_register_internal_class_ex(&ce, yaf_response_ce TSRMLS_CC); + yaf_response_http_ce = zend_register_internal_class_ex(&ce, yaf_response_ce); - zend_declare_property_bool(yaf_response_http_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADEREXCEPTION), 1, ZEND_ACC_PROTECTED TSRMLS_CC); - zend_declare_property_long(yaf_response_http_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), 200, ZEND_ACC_PROTECTED TSRMLS_CC); + zend_declare_property_bool(yaf_response_http_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADEREXCEPTION), 1, ZEND_ACC_PROTECTED); + zend_declare_property_long(yaf_response_http_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), 200, ZEND_ACC_PROTECTED); return SUCCESS; } diff --git a/yaf_request.c b/yaf_request.c index b00b3e9a..e788af0a 100644 --- a/yaf_request.c +++ b/yaf_request.c @@ -12,9 +12,7 @@ +----------------------------------------------------------------------+ | Author: Xinchen Hui | +----------------------------------------------------------------------+ -*/ - -/* $Id: yaf_request.c 329200 2013-01-18 06:26:40Z laruence $*/ + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -35,7 +33,7 @@ zend_class_entry *yaf_request_ce; /** {{{ ARG_INFO - */ +*/ ZEND_BEGIN_ARG_INFO_EX(yaf_request_void_arginfo, 0, 0, 0) ZEND_END_ARG_INFO() @@ -82,19 +80,19 @@ ZEND_BEGIN_ARG_INFO_EX(yaf_request_getenv_arginfo, 0, 0, 1) ZEND_ARG_INFO(0, name) ZEND_ARG_INFO(0, default) ZEND_END_ARG_INFO() -/* }}} */ + /* }}} */ -/** {{{ yaf_request_t * yaf_request_instance(zval *this_ptr, char *other TSRMLS_DC) -*/ -yaf_request_t * yaf_request_instance(yaf_request_t *this_ptr, char *other TSRMLS_DC) { - yaf_request_t *instance = yaf_request_http_instance(this_ptr, NULL, other TSRMLS_CC); - return instance; -} + /** {{{ yaf_request_t * yaf_request_instance(zval *this_ptr, char *other) + */ + yaf_request_t * yaf_request_instance(yaf_request_t *this_ptr, char *other) { + yaf_request_t *instance = yaf_request_http_instance(this_ptr, NULL, other); + return instance; + } /* }}} */ -/** {{{ int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *request_uri TSRMLS_DC) +/** {{{ int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *request_uri) */ -int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *request_uri TSRMLS_DC) { +int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *request_uri) { char *basename = NULL; uint basename_len = 0; zval *container = NULL; @@ -107,19 +105,19 @@ int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *reque ext_len = strlen(ext); - script_filename = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("SCRIPT_FILENAME") TSRMLS_CC); + script_filename = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("SCRIPT_FILENAME")); do { if (script_filename && IS_STRING == Z_TYPE_P(script_filename)) { zval *script_name, *phpself_name, *orig_name; - script_name = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("SCRIPT_NAME") TSRMLS_CC); - file_name = php_basename(Z_STRVAL_P(script_filename), Z_STRLEN_P(script_filename), ext, ext_len TSRMLS_CC); + script_name = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("SCRIPT_NAME")); + file_name = php_basename(Z_STRVAL_P(script_filename), Z_STRLEN_P(script_filename), ext, ext_len); if (script_name && IS_STRING == Z_TYPE_P(script_name)) { zend_string *script; script = php_basename(Z_STRVAL_P(script_name), Z_STRLEN_P(script_name), - NULL, 0 TSRMLS_CC); + NULL, 0); if (strncmp(file_name->val, script->val, file_name->len) == 0) { basename = Z_STRVAL_P(script_name); @@ -133,11 +131,11 @@ int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *reque } zval_ptr_dtor(script_name); - phpself_name = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("PHP_SELF") TSRMLS_CC); + phpself_name = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("PHP_SELF")); if (phpself_name && IS_STRING == Z_TYPE_P(phpself_name)) { zend_string *phpself; - phpself = php_basename(Z_STRVAL_P(phpself_name), Z_STRLEN_P(phpself_name), NULL, 0 TSRMLS_CC); + phpself = php_basename(Z_STRVAL_P(phpself_name), Z_STRLEN_P(phpself_name), NULL, 0); if (strncmp(file_name->val, phpself->val, file_name->len) == 0) { basename = Z_STRVAL_P(phpself_name); basename_len = Z_STRLEN_P(phpself_name); @@ -150,10 +148,10 @@ int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *reque } zval_ptr_dtor(phpself_name); - orig_name = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("ORIG_SCRIPT_NAME") TSRMLS_CC); + orig_name = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("ORIG_SCRIPT_NAME")); if (orig_name && IS_STRING == Z_TYPE_P(orig_name)) { zend_string *orig; - php_basename(Z_STRVAL_P(orig_name), Z_STRLEN_P(orig_name), NULL, 0 TSRMLS_CC); + php_basename(Z_STRVAL_P(orig_name), Z_STRLEN_P(orig_name), NULL, 0); if (strncmp(file_name->val, orig->val, file_name->len) == 0) { basename = Z_STRVAL_P(orig_name); basename_len = Z_STRLEN_P(orig_name); @@ -174,7 +172,7 @@ int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *reque if (*(basename + basename_len - 1) == '/') { --basename_len; } - zend_update_property_stringl(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), basename, basename_len TSRMLS_CC); + zend_update_property_stringl(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), basename, basename_len); if (container) { zval_ptr_dtor(container); } @@ -191,7 +189,7 @@ int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *reque if (dir_len) { if (strstr(request_uri, dir) == request_uri) { - zend_update_property_string(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), dir TSRMLS_CC); + zend_update_property_string(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), dir); efree(dir); if (container) { @@ -207,18 +205,18 @@ int yaf_request_set_base_uri(yaf_request_t *request, char *base_uri, char *reque zval_ptr_dtor(container); } - zend_update_property_string(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), "" TSRMLS_CC); + zend_update_property_string(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), ""); return 1; } else { - zend_update_property_string(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), base_uri TSRMLS_CC); + zend_update_property_string(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), base_uri); return 1; } } /* }}} */ -/** {{{ zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) +/** {{{ zval * yaf_request_query(uint type, char * name, uint len) */ -zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) { +zval * yaf_request_query(uint type, char * name, uint len) { zval *carrier = NULL, *ret; zend_bool jit_initialization = PG(auto_globals_jit); @@ -238,7 +236,7 @@ zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) { case YAF_GLOBAL_VARS_SERVER: if (jit_initialization) { zend_string *server_str = zend_string_init("_SERVER", sizeof("_SERVER") - 1, 0); - zend_is_auto_global(server_str TSRMLS_CC); + zend_is_auto_global(server_str); zend_string_release(server_str); } carrier = zend_hash_str_find(&EG(symbol_table).ht, ZEND_STRL("_SERVER")); @@ -246,7 +244,7 @@ zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) { case YAF_GLOBAL_VARS_ENV: if (jit_initialization) { zend_string *env_str = zend_string_init("_ENV", sizeof("_ENV") - 1, 0); - zend_is_auto_global(env_str TSRMLS_CC); + zend_is_auto_global(env_str); zend_string_release(env_str); } carrier = &PG(http_globals)[YAF_GLOBAL_VARS_ENV]; @@ -257,7 +255,7 @@ zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) { case YAF_GLOBAL_VARS_REQUEST: if (jit_initialization) { zend_string *request_str = zend_string_init("_REQUEST", sizeof("_REQUEST") - 1, 0); - zend_is_auto_global(request_str TSRMLS_CC); + zend_is_auto_global(request_str); zend_string_release(request_str); } carrier = zend_hash_str_find(&EG(symbol_table).ht, ZEND_STRL("_REQUEST")); @@ -276,7 +274,7 @@ zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) { case YAF_GLOBAL_VARS_ENV: if (jit_initialization) { zend_string *env_str = zend_string_init("_ENV", sizeof("_ENV") - 1, 0); - zend_is_auto_global(env_str TSRMLS_CC); + zend_is_auto_global(env_str); zend_string_release(env_str); } carrier = &PG(http_globals)[type]; @@ -284,7 +282,7 @@ zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) { case YAF_GLOBAL_VARS_SERVER: if (jit_initialization) { zend_string *server_str = zend_string_init("_SERVER", sizeof("_SERVER") - 1, 0); - zend_is_auto_global(server_str TSRMLS_CC); + zend_is_auto_global(server_str); zend_string_release(server_str); } carrier = &PG(http_globals)[type]; @@ -292,7 +290,7 @@ zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) { case YAF_GLOBAL_VARS_REQUEST: if (jit_initialization) { zend_string *request_str = zend_string_init("_REQUEST", sizeof("_REQUEST") - 1, 0); - zend_is_auto_global(request_str TSRMLS_CC); + zend_is_auto_global(request_str); zend_string_release(request_str); } carrier = zend_hash_str_find(&EG(symbol_table).ht, ZEND_STRL("_REQUEST")); @@ -312,7 +310,7 @@ zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) { } if ((ret = zend_hash_str_find(Z_ARRVAL_P(carrier), name, len)) == NULL) { - return NULL; + return NULL; } Z_ADDREF_P(ret); @@ -320,23 +318,25 @@ zval * yaf_request_query(uint type, char * name, uint len TSRMLS_DC) { } /* }}} */ -/** {{{ yaf_request_t * yaf_request_get_method(yaf_request_t *request TSRMLS_DC) +/** {{{ yaf_request_t * yaf_request_get_method(yaf_request_t *request) */ -yaf_request_t * yaf_request_get_method(yaf_request_t *request TSRMLS_DC) { - yaf_request_t *method = zend_read_property(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_METHOD), 1 TSRMLS_CC); +yaf_request_t * yaf_request_get_method(yaf_request_t *request) { + zval rv; + yaf_request_t *method = zend_read_property(yaf_request_ce, + request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_METHOD), 1, &rv); return method; } /* }}} */ -/** {{{ yaf_request_t * yaf_request_get_language(yaf_request_t *instance, zval *accept_language TSRMLS_DC) +/** {{{ yaf_request_t * yaf_request_get_language(yaf_request_t *instance, zval *accept_language) */ -zval * yaf_request_get_language(yaf_request_t *instance, zval *accept_language TSRMLS_DC) { - zval *lang; - - lang = zend_read_property(yaf_request_ce, instance, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_LANG), 1 TSRMLS_CC); +zval * yaf_request_get_language(yaf_request_t *instance, zval *accept_language) { + zval rv; + zval *lang = zend_read_property(yaf_request_ce, + instance, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_LANG), 1, &rv); if (IS_STRING != Z_TYPE_P(lang)) { - zval * accept_langs = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("HTTP_ACCEPT_LANGUAGE") TSRMLS_CC); + zval *accept_langs = yaf_request_query(YAF_GLOBAL_VARS_SERVER, ZEND_STRL("HTTP_ACCEPT_LANGUAGE")); if (!accept_langs || IS_STRING != Z_TYPE_P(accept_langs) || !Z_STRLEN_P(accept_langs)) { return accept_langs; @@ -375,7 +375,7 @@ zval * yaf_request_get_language(yaf_request_t *instance, zval *accept_language T if (prefer) { ZVAL_STRINGL(accept_language, prefer, prefer_len); - zend_update_property(yaf_request_ce, instance, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_LANG), accept_language TSRMLS_CC); + zend_update_property(yaf_request_ce, instance, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_LANG), accept_language); efree(prefer); efree(langs); return accept_language; @@ -387,56 +387,62 @@ zval * yaf_request_get_language(yaf_request_t *instance, zval *accept_language T } /* }}} */ -/** {{{ int yaf_request_is_routed(yaf_request_t *request TSRMLS_DC) +/** {{{ int yaf_request_is_routed(yaf_request_t *request) */ - int yaf_request_is_routed(yaf_request_t *request TSRMLS_DC) { - yaf_request_t *routed = zend_read_property(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ROUTED), 1 TSRMLS_CC); +int yaf_request_is_routed(yaf_request_t *request) { + zval rv; + yaf_request_t *routed = zend_read_property(yaf_request_ce, + request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ROUTED), 1, &rv); return Z_TYPE_P(routed) == IS_TRUE ? 1 : 0; } /* }}} */ -/** {{{ int yaf_request_is_dispatched(yaf_request_t *request TSRMLS_DC) +/** {{{ int yaf_request_is_dispatched(yaf_request_t *request) */ - int yaf_request_is_dispatched(yaf_request_t *request TSRMLS_DC) { - zval *dispatched = zend_read_property(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_STATE), 1 TSRMLS_CC); +int yaf_request_is_dispatched(yaf_request_t *request) { + zval rv; + zval *dispatched = zend_read_property(yaf_request_ce, + request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_STATE), 1, &rv); return Z_TYPE_P(dispatched) == IS_TRUE ? 1 : 0; } /* }}} */ -/** {{{ int yaf_request_set_dispatched(yaf_request_t *instance, int flag TSRMLS_DC) +/** {{{ int yaf_request_set_dispatched(yaf_request_t *instance, int flag) */ - int yaf_request_set_dispatched(yaf_request_t *instance, int flag TSRMLS_DC) { - zend_update_property_bool(yaf_request_ce, instance, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_STATE), flag TSRMLS_CC); +int yaf_request_set_dispatched(yaf_request_t *instance, int flag) { + zend_update_property_bool(yaf_request_ce, instance, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_STATE), flag); return 1; } /* }}} */ -/** {{{ int yaf_request_set_routed(yaf_request_t *request, int flag TSRMLS_DC) +/** {{{ int yaf_request_set_routed(yaf_request_t *request, int flag) */ - int yaf_request_set_routed(yaf_request_t *request, int flag TSRMLS_DC) { - zend_update_property_bool(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ROUTED), flag TSRMLS_CC); +int yaf_request_set_routed(yaf_request_t *request, int flag) { + zend_update_property_bool(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ROUTED), flag); return 1; } /* }}} */ -/** {{{ int yaf_request_set_params_single(yaf_request_t *request, zend_string *key, zval *value TSRMLS_DC) +/** {{{ int yaf_request_set_params_single(yaf_request_t *request, zend_string *key, zval *value) */ - int yaf_request_set_params_single(yaf_request_t *request, zend_string *key, zval *value TSRMLS_DC) { - zval *params = zend_read_property(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), 1 TSRMLS_CC); - +int yaf_request_set_params_single(yaf_request_t *request, zend_string *key, zval *value) { + zval rv; + zval *params = zend_read_property(yaf_request_ce, + request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), 1, &rv); if ((zend_hash_update(Z_ARRVAL_P(params), key, value)) != NULL) { Z_TRY_ADDREF_P(value); return 1; } - return 0; } /* }}} */ -/** {{{ int yaf_request_set_params_multi(yaf_request_t *request, zval *values TSRMLS_DC) +/** {{{ int yaf_request_set_params_multi(yaf_request_t *request, zval *values) */ - int yaf_request_set_params_multi(yaf_request_t *request, zval *values TSRMLS_DC) { - zval *params = zend_read_property(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), 1 TSRMLS_CC); +int yaf_request_set_params_multi(yaf_request_t *request, zval *values) { + zval rv; + zval *params = zend_read_property(yaf_request_ce, + request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), 1, &rv); if (values && Z_TYPE_P(values) == IS_ARRAY) { zend_hash_copy(Z_ARRVAL_P(params), Z_ARRVAL_P(values), (copy_ctor_func_t) zval_add_ref); return 1; @@ -445,15 +451,13 @@ zval * yaf_request_get_language(yaf_request_t *instance, zval *accept_language T } /* }}} */ -/** {{{ zval * yaf_request_get_param(yaf_request_t *request, zend_string *key TSRMLS_DC) +/** {{{ zval * yaf_request_get_param(yaf_request_t *request, zend_string *key) */ - zval * yaf_request_get_param(yaf_request_t *request, zend_string *key TSRMLS_DC) { - zval *pzval; - zval *params = zend_read_property(yaf_request_ce, request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), 1 TSRMLS_CC); - if ((pzval = zend_hash_find(Z_ARRVAL_P(params), key)) != NULL) { - return pzval; - } - return NULL; +zval * yaf_request_get_param(yaf_request_t *request, zend_string *key) { + zval rv; + zval *params = zend_read_property(yaf_request_ce, + request, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), 1, &rv); + return zend_hash_find(Z_ARRVAL_P(params), key); } /* }}} */ @@ -507,7 +511,9 @@ YAF_REQUEST_METHOD(yaf_request, Server, YAF_GLOBAL_VARS_SERVER); /** {{{ proto public Yaf_Request_Abstract::getModuleName(void) */ PHP_METHOD(yaf_request, getModuleName) { - zval *module = zend_read_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_MODULE), 1 TSRMLS_CC); + zval rv; + zval *module = zend_read_property(yaf_request_ce, + getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_MODULE), 1, &rv); RETVAL_ZVAL(module, 1, 0); } /* }}} */ @@ -515,7 +521,9 @@ PHP_METHOD(yaf_request, getModuleName) { /** {{{ proto public Yaf_Request_Abstract::getControllerName(void) */ PHP_METHOD(yaf_request, getControllerName) { - zval *controller = zend_read_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_CONTROLLER), 1 TSRMLS_CC); + zval rv; + zval *controller = zend_read_property(yaf_request_ce, + getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_CONTROLLER), 1, &rv); RETVAL_ZVAL(controller, 1, 0); } /* }}} */ @@ -523,7 +531,9 @@ PHP_METHOD(yaf_request, getControllerName) { /** {{{ proto public Yaf_Request_Abstract::getActionName(void) */ PHP_METHOD(yaf_request, getActionName) { - zval *action = zend_read_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ACTION), 1 TSRMLS_CC); + zval rv; + zval *action = zend_read_property(yaf_request_ce, + getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ACTION), 1, &rv); RETVAL_ZVAL(action, 1, 0); } /* }}} */ @@ -534,16 +544,16 @@ PHP_METHOD(yaf_request, setModuleName) { zval *module; yaf_request_t *self = getThis(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &module) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z", &module) == FAILURE) { return; } if (Z_TYPE_P(module) != IS_STRING) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Expect a string module name"); + php_error_docref(NULL, E_WARNING, "Expect a string module name"); RETURN_FALSE; } - zend_update_property(yaf_request_ce, self, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_MODULE), module TSRMLS_CC); + zend_update_property(yaf_request_ce, self, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_MODULE), module); RETURN_ZVAL(self, 1, 0); } @@ -555,16 +565,16 @@ PHP_METHOD(yaf_request, setControllerName) { zval *controller; yaf_request_t *self = getThis(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &controller) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z", &controller) == FAILURE) { return; } if (Z_TYPE_P(controller) != IS_STRING) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Expect a string controller name"); + php_error_docref(NULL, E_WARNING, "Expect a string controller name"); RETURN_FALSE; } - zend_update_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_CONTROLLER), controller TSRMLS_CC); + zend_update_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_CONTROLLER), controller); RETURN_ZVAL(self, 1, 0); } @@ -576,16 +586,16 @@ PHP_METHOD(yaf_request, setActionName) { zval *action; zval *self = getThis(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &action) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z", &action) == FAILURE) { return; } if (Z_TYPE_P(action) != IS_STRING) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Expect a string action name"); + php_error_docref(NULL, E_WARNING, "Expect a string action name"); RETURN_FALSE; } - zend_update_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ACTION), action TSRMLS_CC); + zend_update_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ACTION), action); RETURN_ZVAL(self, 1, 0); } @@ -601,20 +611,20 @@ PHP_METHOD(yaf_request, setParam) { if (1 == argc) { zval *value ; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &value) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a", &value) == FAILURE) { return; } - if (yaf_request_set_params_multi(self, value TSRMLS_CC)) { + if (yaf_request_set_params_multi(self, value)) { RETURN_ZVAL(self, 1, 0); } } else if (2 == argc) { zval *value; zend_string *name; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Sz", &name, &value) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "Sz", &name, &value) == FAILURE) { return; } - if (yaf_request_set_params_single(getThis(), name, value TSRMLS_CC)) { + if (yaf_request_set_params_single(getThis(), name, value)) { RETURN_ZVAL(self, 1, 0); } } else { @@ -631,10 +641,10 @@ PHP_METHOD(yaf_request, getParam) { zend_string *name; zval *def = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|z", &name, &def) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "S|z", &name, &def) == FAILURE) { return; } else { - zval *value = yaf_request_get_param(getThis(), name TSRMLS_CC); + zval *value = yaf_request_get_param(getThis(), name); if (value) { RETURN_ZVAL(value, 1, 0); } @@ -650,7 +660,9 @@ PHP_METHOD(yaf_request, getParam) { /** {{{ proto public Yaf_Request_Abstract::getException(void) */ PHP_METHOD(yaf_request, getException) { - zval *exception = zend_read_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_EXCEPTION), 1 TSRMLS_CC); + zval rv; + zval *exception = zend_read_property(yaf_request_ce, + getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_EXCEPTION), 1, &rv); if (IS_OBJECT == Z_TYPE_P(exception) && instanceof_function(Z_OBJCE_P(exception), #if (PHP_MAJOR_VERSION == 5) && (PHP_MINOR_VERSION < 2) @@ -669,7 +681,9 @@ PHP_METHOD(yaf_request, getException) { /** {{{ proto public Yaf_Request_Abstract::getParams(void) */ PHP_METHOD(yaf_request, getParams) { - zval *params = zend_read_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), 1 TSRMLS_CC); + zval rv; + zval *params = zend_read_property(yaf_request_ce, + getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), 1, &rv); RETURN_ZVAL(params, 1, 0); } /* }}} */ @@ -677,22 +691,22 @@ PHP_METHOD(yaf_request, getParams) { /** {{{ proto public Yaf_Request_Abstract::getLanguage(void) */ PHP_METHOD(yaf_request, getLanguage) { - zval accept_language; - zval *lang = yaf_request_get_language(getThis(), &accept_language TSRMLS_CC); + zval accept_language; + zval *lang = yaf_request_get_language(getThis(), &accept_language); if (lang) { - RETURN_ZVAL(lang, 1, 0); - } else { - zval ret_null; - ZVAL_NULL(&ret_null); - RETURN_ZVAL(&ret_null, 1, 0); - } + RETURN_ZVAL(lang, 1, 0); + } else { + zval ret_null; + ZVAL_NULL(&ret_null); + RETURN_ZVAL(&ret_null, 1, 0); + } } /* }}} */ /** {{{ proto public Yaf_Request_Abstract::getMethod(void) */ PHP_METHOD(yaf_request, getMethod) { - zval *method = yaf_request_get_method(getThis() TSRMLS_CC); + zval *method = yaf_request_get_method(getThis()); RETURN_ZVAL(method, 1, 0); } /* }}} */ @@ -700,14 +714,14 @@ PHP_METHOD(yaf_request, getMethod) { /** {{{ proto public Yaf_Request_Abstract::isDispatched(void) */ PHP_METHOD(yaf_request, isDispatched) { - RETURN_BOOL(yaf_request_is_dispatched(getThis() TSRMLS_CC)); + RETURN_BOOL(yaf_request_is_dispatched(getThis())); } /* }}} */ /** {{{ proto public Yaf_Request_Abstract::setDispatched(void) */ PHP_METHOD(yaf_request, setDispatched) { - RETURN_BOOL(yaf_request_set_dispatched(getThis(), 1 TSRMLS_CC)); + RETURN_BOOL(yaf_request_set_dispatched(getThis(), 1)); } /* }}} */ @@ -716,7 +730,7 @@ PHP_METHOD(yaf_request, setDispatched) { PHP_METHOD(yaf_request, setBaseUri) { zval *uri; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &uri) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z", &uri) == FAILURE) { return; } @@ -724,7 +738,7 @@ PHP_METHOD(yaf_request, setBaseUri) { RETURN_FALSE; } - if (yaf_request_set_base_uri(getThis(), Z_STRVAL_P(uri), NULL TSRMLS_CC)) { + if (yaf_request_set_base_uri(getThis(), Z_STRVAL_P(uri), NULL)) { RETURN_ZVAL(getThis(), 1, 0); } @@ -735,7 +749,9 @@ PHP_METHOD(yaf_request, setBaseUri) { /** {{{ proto public Yaf_Request_Abstract::getBaseUri(string $name) */ PHP_METHOD(yaf_request, getBaseUri) { - zval *uri = zend_read_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), 1 TSRMLS_CC); + zval rv; + zval *uri = zend_read_property(yaf_request_ce, + getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), 1, &rv); RETURN_ZVAL(uri, 1, 0); } /* }}} */ @@ -743,7 +759,9 @@ PHP_METHOD(yaf_request, getBaseUri) { /** {{{ proto public Yaf_Request_Abstract::getRequestUri(string $name) */ PHP_METHOD(yaf_request, getRequestUri) { - zval *uri = zend_read_property(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_URI), 1 TSRMLS_CC); + zval rv; + zval *uri = zend_read_property(yaf_request_ce, + getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_URI), 1, &rv); RETURN_ZVAL(uri, 1, 0); } /* }}} */ @@ -753,11 +771,11 @@ PHP_METHOD(yaf_request, getRequestUri) { PHP_METHOD(yaf_request, setRequestUri) { zend_string *uri; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S", &uri) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &uri) == FAILURE) { return; } - zend_update_property_str(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_URI), uri TSRMLS_CC); + zend_update_property_str(yaf_request_ce, getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_URI), uri); RETURN_ZVAL(getThis(), 1, 0); } /* }}} */ @@ -765,14 +783,14 @@ PHP_METHOD(yaf_request, setRequestUri) { /** {{{ proto public Yaf_Request_Abstract::isRouted(void) */ PHP_METHOD(yaf_request, isRouted) { - RETURN_BOOL(yaf_request_is_routed(getThis() TSRMLS_CC)); + RETURN_BOOL(yaf_request_is_routed(getThis())); } /* }}} */ /** {{{ proto public Yaf_Request_Abstract::setRouted(void) */ PHP_METHOD(yaf_request, setRouted) { - if (yaf_request_set_routed(getThis(), 1 TSRMLS_CC)) { + if (yaf_request_set_routed(getThis(), 1)) { RETURN_ZVAL(getThis(), 1, 0); } RETURN_FALSE; @@ -783,35 +801,35 @@ PHP_METHOD(yaf_request, setRouted) { */ zend_function_entry yaf_request_methods[] = { PHP_ME(yaf_request, isGet, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, isPost, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, isPut, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, isHead, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, isOptions, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, isCli, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, isXmlHttpRequest, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getServer, yaf_request_getserver_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getEnv, yaf_request_getenv_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, setParam, yaf_request_set_param_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getParam, yaf_request_get_param_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getParams, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getException, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getModuleName, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getControllerName, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getActionName, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, setModuleName, yaf_request_set_module_name_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, setControllerName, yaf_request_set_controller_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, setActionName, yaf_request_set_action_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getMethod, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getLanguage, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, setBaseUri, yaf_request_set_baseuri_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getBaseUri, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, getRequestUri, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, setRequestUri, yaf_request_set_request_uri_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, isDispatched, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, setDispatched, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, isRouted, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) - PHP_ME(yaf_request, setRouted, yaf_request_set_routed_arginfo, ZEND_ACC_PUBLIC) - {NULL, NULL, NULL} + PHP_ME(yaf_request, isPost, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, isPut, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, isHead, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, isOptions, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, isCli, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, isXmlHttpRequest, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getServer, yaf_request_getserver_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getEnv, yaf_request_getenv_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, setParam, yaf_request_set_param_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getParam, yaf_request_get_param_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getParams, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getException, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getModuleName, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getControllerName, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getActionName, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, setModuleName, yaf_request_set_module_name_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, setControllerName, yaf_request_set_controller_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, setActionName, yaf_request_set_action_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getMethod, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getLanguage, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, setBaseUri, yaf_request_set_baseuri_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getBaseUri, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, getRequestUri, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, setRequestUri, yaf_request_set_request_uri_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, isDispatched, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, setDispatched, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, isRouted, yaf_request_void_arginfo, ZEND_ACC_PUBLIC) + PHP_ME(yaf_request, setRouted, yaf_request_set_routed_arginfo, ZEND_ACC_PUBLIC) + {NULL, NULL, NULL} }; /* }}} */ @@ -821,21 +839,21 @@ YAF_STARTUP_FUNCTION(request){ zend_class_entry ce; YAF_INIT_CLASS_ENTRY(ce, "Yaf_Request_Abstract", "Yaf\\Request_Abstract", yaf_request_methods); - yaf_request_ce = zend_register_internal_class_ex(&ce, NULL TSRMLS_CC); + yaf_request_ce = zend_register_internal_class_ex(&ce, NULL); yaf_request_ce->ce_flags = ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_MODULE), ZEND_ACC_PUBLIC TSRMLS_CC); - zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_CONTROLLER), ZEND_ACC_PUBLIC TSRMLS_CC); - zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ACTION), ZEND_ACC_PUBLIC TSRMLS_CC); - zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_METHOD), ZEND_ACC_PUBLIC TSRMLS_CC); - zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), ZEND_ACC_PROTECTED TSRMLS_CC); - zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_LANG), ZEND_ACC_PROTECTED TSRMLS_CC); - zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_EXCEPTION), ZEND_ACC_PROTECTED TSRMLS_CC); - - zend_declare_property_string(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), "", ZEND_ACC_PROTECTED TSRMLS_CC); - zend_declare_property_string(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_URI), "", ZEND_ACC_PROTECTED TSRMLS_CC); - zend_declare_property_bool(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_STATE), 0, ZEND_ACC_PROTECTED TSRMLS_CC); - zend_declare_property_bool(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ROUTED), 0, ZEND_ACC_PROTECTED TSRMLS_CC); + zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_CONTROLLER), ZEND_ACC_PUBLIC); + zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ACTION), ZEND_ACC_PUBLIC); + zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_METHOD), ZEND_ACC_PUBLIC); + zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_PARAMS), ZEND_ACC_PROTECTED); + zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_LANG), ZEND_ACC_PROTECTED); + zend_declare_property_null(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_EXCEPTION), ZEND_ACC_PROTECTED); + + zend_declare_property_string(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_BASE), "", ZEND_ACC_PROTECTED); + zend_declare_property_string(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_URI), "", ZEND_ACC_PROTECTED); + zend_declare_property_bool(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_STATE), 0, ZEND_ACC_PROTECTED); + zend_declare_property_bool(yaf_request_ce, ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_ROUTED), 0, ZEND_ACC_PROTECTED); YAF_STARTUP(request_http); YAF_STARTUP(request_simple); diff --git a/yaf_request.h b/yaf_request.h index 565d9469..416f2615 100644 --- a/yaf_request.h +++ b/yaf_request.h @@ -44,8 +44,9 @@ #define YAF_REQUEST_IS_METHOD(x) \ PHP_METHOD(yaf_request, is##x) {\ - zval * method = zend_read_property(Z_OBJCE_P(getThis()), getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_METHOD), 0 TSRMLS_CC);\ - if (strncasecmp(#x, Z_STRVAL_P(method), Z_STRLEN_P(method)) == 0) { \ + zval rv, *method = zend_read_property(Z_OBJCE_P(getThis()), \ + getThis(), ZEND_STRL(YAF_REQUEST_PROPERTY_NAME_METHOD), 0, &rv); \ + if (zend_string_equals_literal_ci(Z_STR_P(method), #x) == 0) { \ RETURN_TRUE; \ } \ RETURN_FALSE; \ diff --git a/yaf_response.c b/yaf_response.c index f50da453..854c5ef9 100644 --- a/yaf_response.c +++ b/yaf_response.c @@ -52,9 +52,9 @@ ZEND_BEGIN_ARG_INFO_EX(yaf_response_clear_body_arginfo, 0, 0, 0) ZEND_END_ARG_INFO() /* }}} */ -/** {{{ yaf_response_t * yaf_response_instance(yaf_response_t *this_ptr, char *sapi_name TSRMLS_DC) +/** {{{ yaf_response_t * yaf_response_instance(yaf_response_t *this_ptr, char *sapi_name) */ -yaf_response_t * yaf_response_instance(yaf_response_t *this_ptr, char *sapi_name TSRMLS_DC) { +yaf_response_t * yaf_response_instance(yaf_response_t *this_ptr, char *sapi_name) { zval header, body; zend_class_entry *ce; yaf_response_t *instance; @@ -71,21 +71,21 @@ yaf_response_t * yaf_response_instance(yaf_response_t *this_ptr, char *sapi_name } array_init(&header); - zend_update_property(ce, instance, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), &header TSRMLS_CC); + zend_update_property(ce, instance, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), &header); zval_ptr_dtor(&header); array_init(&body); - zend_update_property(ce, instance, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), &body TSRMLS_CC); + zend_update_property(ce, instance, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), &body); zval_ptr_dtor(&body); return instance; } /* }}} */ -/** {{{ static int yaf_response_set_body(yaf_response_t *response, char *name, int name_len, char *body, long body_len TSRMLS_DC) +/** {{{ static int yaf_response_set_body(yaf_response_t *response, char *name, int name_len, char *body, long body_len) */ #if 0 -static int yaf_response_set_body(yaf_response_t *response, char *name, int name_len, char *body, long body_len TSRMLS_DC) { +static int yaf_response_set_body(yaf_response_t *response, char *name, int name_len, char *body, long body_len) { zval *zbody; zend_class_entry *response_ce; @@ -95,33 +95,33 @@ static int yaf_response_set_body(yaf_response_t *response, char *name, int name_ response_ce = Z_OBJCE_P(response); - zbody = zend_read_property(response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1 TSRMLS_CC); + zbody = zend_read_property(response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1); zval_ptr_dtor(&zbody); MAKE_STD_ZVAL(zbody); ZVAL_STRINGL(zbody, body, body_len, 1); - zend_update_property(response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), zbody TSRMLS_CC); + zend_update_property(response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), zbody); return 1; } #endif /* }}} */ -/** {{{ int yaf_response_alter_body(yaf_response_t *response, zend_string *name, char *body, long body_len, int flag TSRMLS_DC) +/** {{{ int yaf_response_alter_body(yaf_response_t *response, zend_string *name, char *body, long body_len, int flag) */ -int yaf_response_alter_body(yaf_response_t *response, zend_string *name, char *body, long body_len, int flag TSRMLS_DC) { +int yaf_response_alter_body(yaf_response_t *response, zend_string *name, char *body, long body_len, int flag) { + zval rv; zval *zbody, *pzval; - uint free_name = 0; - char *obody; - long obody_len; + uint free_name = 0; + zend_string *obody; if (!body_len) { return 1; } - zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1 TSRMLS_CC); + zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1, &rv); if (!name) { name = zend_string_init(ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_DEFAULTBODY), 0); @@ -133,10 +133,8 @@ int yaf_response_alter_body(yaf_response_t *response, zend_string *name, char *b obody = NULL; ZVAL_NULL(&body); pzval = zend_hash_update(Z_ARRVAL_P(zbody), name, &body); - zval_ptr_dtor(&body); } else { - obody = Z_STRVAL_P(pzval); - obody_len = Z_STRLEN_P(pzval); + obody = Z_STR_P(pzval); } if (obody) { @@ -145,20 +143,20 @@ int yaf_response_alter_body(yaf_response_t *response, zend_string *name, char *b switch (flag) { case YAF_RESPONSE_PREPEND: - result_len = body_len + obody_len; + result_len = body_len + obody->len; result = emalloc(result_len + 1); memcpy(result, body, body_len); - memcpy(result + body_len, obody, obody_len); + memcpy(result + body_len, obody->val, obody->len); result[result_len] = '\0'; zend_string_release(Z_STR_P(pzval)); ZVAL_STRINGL(pzval, result, result_len); efree(result); break; case YAF_RESPONSE_APPEND: - result_len = body_len + obody_len; + result_len = body_len + obody->len; result = emalloc(result_len + 1); - memcpy(result, obody, obody_len); - memcpy(result + obody_len, body, body_len); + memcpy(result, obody->val, obody->len); + memcpy(result + obody->len, body, body_len); result[result_len] = '\0'; zend_string_release(Z_STR_P(pzval)); ZVAL_STRINGL(pzval, result, result_len); @@ -180,14 +178,14 @@ int yaf_response_alter_body(yaf_response_t *response, zend_string *name, char *b } /* }}} */ -/** {{{ int yaf_response_clear_body(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) +/** {{{ int yaf_response_clear_body(yaf_response_t *response, zend_string *name) */ -int yaf_response_clear_body(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) { - zval *zbody; - zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1 TSRMLS_CC); +int yaf_response_clear_body(yaf_response_t *response, zend_string *name) { + zval *zbody, rv; + zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1, &rv); if (name) { - zend_hash_str_del(Z_ARRVAL_P(zbody), name, name_len); + zend_hash_del(Z_ARRVAL_P(zbody), name); } else { zend_hash_clean(Z_ARRVAL_P(zbody)); } @@ -195,39 +193,47 @@ int yaf_response_clear_body(yaf_response_t *response, char *name, uint name_len } /* }}} */ -/** {{{ zval * yaf_response_get_body(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) +/** {{{ zval * yaf_response_get_body(yaf_response_t *response, zend_string *name) */ -zval * yaf_response_get_body(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) { - zval *pzval; - zval *zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1 TSRMLS_CC); +zval * yaf_response_get_body(yaf_response_t *response, zend_string *name) { + zval *pzval, rv; + zval *zbody = zend_read_property(yaf_response_ce, + response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1, &rv); if (!name) { return zbody; } - if ((pzval = zend_hash_str_find(Z_ARRVAL_P(zbody), name, name_len)) == NULL) { - return NULL; - } - - return pzval; + return zend_hash_find(Z_ARRVAL_P(zbody), name); } /* }}} */ -/** {{{ int yaf_response_send(yaf_response_t *response TSRMLS_DC) +/** {{{ zval * yaf_response_get_body_str(yaf_response_t *response, char *name, size_t len) */ -int yaf_response_send(yaf_response_t *response TSRMLS_DC) { - zval *zbody; - zval *val; +zval * yaf_response_get_body_str(yaf_response_t *response, char *name, size_t len) { + zval *ret; + zend_string *n = zend_string_init(name, len, 0); + ret = yaf_response_get_body(response, n); + zend_string_release(n); + return ret; +} +/* }}} */ - zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1 TSRMLS_CC); +/** {{{ int yaf_response_send(yaf_response_t *response) + */ +int yaf_response_send(yaf_response_t *response) { + zval *zbody; + zval *val, rv; - zend_hash_internal_pointer_reset(Z_ARRVAL_P(zbody)); - while ((val = zend_hash_get_current_data(Z_ARRVAL_P(zbody))) != NULL) { - convert_to_string_ex(val); - php_write(Z_STRVAL_P(val), Z_STRLEN_P(val) TSRMLS_CC); - zend_hash_move_forward(Z_ARRVAL_P(zbody)); - } + zbody = zend_read_property(yaf_response_ce, + response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1, &rv); + ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(zbody), val) { + if (UNEXPECTED(Z_TYPE_P(val) != IS_STRING)) { + continue; + } + php_write(Z_STRVAL_P(val), Z_STRLEN_P(val)); + } ZEND_HASH_FOREACH_END(); return 1; } /* }}} */ @@ -242,7 +248,7 @@ PHP_METHOD(yaf_response, __construct) { self = &rself; } - (void)yaf_response_instance(self, sapi_module.name TSRMLS_CC); + (void)yaf_response_instance(self, sapi_module.name); } /* }}} */ @@ -260,13 +266,13 @@ PHP_METHOD(yaf_response, appendBody) { size_t body_len; yaf_response_t *self; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|S", &body, &body_len, &name) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|S", &body, &body_len, &name) == FAILURE) { return; } self = getThis(); - if (yaf_response_alter_body(self, name, body, body_len, YAF_RESPONSE_APPEND TSRMLS_CC)) { + if (yaf_response_alter_body(self, name, body, body_len, YAF_RESPONSE_APPEND)) { RETURN_ZVAL(self, 1, 0); } @@ -282,13 +288,13 @@ PHP_METHOD(yaf_response, prependBody) { size_t body_len; yaf_response_t *self; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|S", &body, &body_len, &name) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|S", &body, &body_len, &name) == FAILURE) { return; } self = getThis(); - if (yaf_response_alter_body(self, name, body, body_len, YAF_RESPONSE_PREPEND TSRMLS_CC)) { + if (yaf_response_alter_body(self, name, body, body_len, YAF_RESPONSE_PREPEND)) { RETURN_ZVAL(self, 1, 0); } @@ -330,7 +336,7 @@ PHP_METHOD(yaf_response, setRedirect) { char *url; size_t url_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &url, &url_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &url, &url_len) == FAILURE) { return; } @@ -338,7 +344,7 @@ PHP_METHOD(yaf_response, setRedirect) { RETURN_FALSE; } - RETURN_BOOL(yaf_response_set_redirect(getThis(), url, url_len TSRMLS_CC)); + RETURN_BOOL(yaf_response_set_redirect(getThis(), url, url_len)); } /* }}} */ @@ -350,13 +356,13 @@ PHP_METHOD(yaf_response, setBody) { size_t body_len; yaf_response_t *self; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|S", &body, &body_len, &name) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|S", &body, &body_len, &name) == FAILURE) { return; } self = getThis(); - if (yaf_response_alter_body(self, name, body, body_len, YAF_RESPONSE_REPLACE TSRMLS_CC)) { + if (yaf_response_alter_body(self, name, body, body_len, YAF_RESPONSE_REPLACE)) { RETURN_ZVAL(self, 1, 0); } @@ -367,13 +373,12 @@ PHP_METHOD(yaf_response, setBody) { /** {{{ proto public Yaf_Response_Abstract::clearBody(string $name = NULL) */ PHP_METHOD(yaf_response, clearBody) { - char *name = NULL; - size_t name_len = 0; + zend_string *name; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|S", &name) == FAILURE) { return; } - if (yaf_response_clear_body(getThis(), name, name_len TSRMLS_CC)) { + if (yaf_response_clear_body(getThis(), name)) { RETURN_ZVAL(getThis(), 1, 0); } @@ -384,21 +389,22 @@ PHP_METHOD(yaf_response, clearBody) { /** {{{ proto public Yaf_Response_Abstract::getBody(string $name = NULL) */ PHP_METHOD(yaf_response, getBody) { - zval *body = NULL; + zval *body; zval *name = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|z", &name) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|z", &name) == FAILURE) { return; } if (!name) { - body = yaf_response_get_body(getThis(), YAF_RESPONSE_PROPERTY_NAME_DEFAULTBODY, sizeof(YAF_RESPONSE_PROPERTY_NAME_DEFAULTBODY) - 1 TSRMLS_CC); + body = yaf_response_get_body_str(getThis(), + YAF_RESPONSE_PROPERTY_NAME_DEFAULTBODY, sizeof(YAF_RESPONSE_PROPERTY_NAME_DEFAULTBODY) - 1); } else { if (ZVAL_IS_NULL(name)) { - body = yaf_response_get_body(getThis(), NULL, 0 TSRMLS_CC); + body = yaf_response_get_body(getThis(), NULL); } else { convert_to_string_ex(name); - body = yaf_response_get_body(getThis(), Z_STRVAL_P(name), Z_STRLEN_P(name) TSRMLS_CC); + body = yaf_response_get_body(getThis(), Z_STR_P(name)); } } @@ -413,7 +419,7 @@ PHP_METHOD(yaf_response, getBody) { /** {{{ proto public Yaf_Response_Abstract::response(void) */ PHP_METHOD(yaf_response, response) { - RETURN_BOOL(yaf_response_send(getThis() TSRMLS_CC)); + RETURN_BOOL(yaf_response_send(getThis())); } /* }}} */ @@ -421,10 +427,12 @@ PHP_METHOD(yaf_response, response) { */ PHP_METHOD(yaf_response, __toString) { zend_string *delim; - zval *zbody = zend_read_property(yaf_response_ce, getThis(), ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1 TSRMLS_CC); + zval rv; + zval *zbody = zend_read_property(yaf_response_ce, + getThis(), ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1, &rv); delim = STR_EMPTY_ALLOC(); - php_implode(delim, zbody, return_value TSRMLS_CC); + php_implode(delim, zbody, return_value); zend_string_release(delim); } /* }}} */ @@ -459,13 +467,13 @@ YAF_STARTUP_FUNCTION(response) { YAF_INIT_CLASS_ENTRY(ce, "Yaf_Response_Abstract", "Yaf\\Response_Abstract", yaf_response_methods); - yaf_response_ce = zend_register_internal_class_ex(&ce, NULL TSRMLS_CC); + yaf_response_ce = zend_register_internal_class_ex(&ce, NULL); yaf_response_ce->ce_flags |= ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; - zend_declare_property_null(yaf_response_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), ZEND_ACC_PROTECTED TSRMLS_CC); - zend_declare_property_null(yaf_response_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), ZEND_ACC_PROTECTED TSRMLS_CC); - zend_declare_property_bool(yaf_response_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADEREXCEPTION), 0, ZEND_ACC_PROTECTED TSRMLS_CC); - zend_declare_class_constant_stringl(yaf_response_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_DEFAULTBODYNAME), ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_DEFAULTBODY) TSRMLS_CC); + zend_declare_property_null(yaf_response_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), ZEND_ACC_PROTECTED); + zend_declare_property_null(yaf_response_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), ZEND_ACC_PROTECTED); + zend_declare_property_bool(yaf_response_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADEREXCEPTION), 0, ZEND_ACC_PROTECTED); + zend_declare_class_constant_stringl(yaf_response_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_DEFAULTBODYNAME), ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_DEFAULTBODY)); YAF_STARTUP(response_http); YAF_STARTUP(response_cli); diff --git a/yaf_response.h b/yaf_response.h index 05842943..306a65fd 100644 --- a/yaf_response.h +++ b/yaf_response.h @@ -33,11 +33,11 @@ extern zend_class_entry *yaf_response_ce; extern zend_class_entry *yaf_response_http_ce; extern zend_class_entry *yaf_response_cli_ce; -yaf_response_t * yaf_response_instance(yaf_response_t *this_ptr, char *sapi_name TSRMLS_DC); -int yaf_response_alter_body(yaf_response_t *response, zend_string *name, char *body, long body_len, int flag TSRMLS_DC); -int yaf_response_send(yaf_response_t *response TSRMLS_DC); -int yaf_response_set_redirect(yaf_response_t *response, char *url, int len TSRMLS_DC); -int yaf_response_clear_body(yaf_response_t *response, char *name, uint name_len TSRMLS_DC); +yaf_response_t * yaf_response_instance(yaf_response_t *this_ptr, char *sapi_name); +int yaf_response_alter_body(yaf_response_t *response, zend_string *name, char *body, long body_len, int flag); +int yaf_response_send(yaf_response_t *response); +int yaf_response_set_redirect(yaf_response_t *response, char *url, int len); +int yaf_response_clear_body(yaf_response_t *response, zend_string *name); YAF_STARTUP_FUNCTION(response);