[PATCH] - Avoid unnecessary strlen in PHP's NSAPI plugin

From: Date: Fri, 30 Oct 2009 11:47:32 +0000
Subject: [PATCH] - Avoid unnecessary strlen in PHP's NSAPI plugin
Groups: php.internals 
Request: Send a blank email to internals+get-45911@lists.php.net to get a copy of this message
Please review the attached patch which avoids an unnecessary strlen call (in the NSAPI plugin for PHP) by using php_register_variable_safe instead of php_register_variable. thanks, arvi

diff -r 64f24a22f518 sapi/nsapi/nsapi.c --- a/sapi/nsapi/nsapi.c Wed Aug 26 17:33:06 2009 +0530 +++ b/sapi/nsapi/nsapi.c Thu Aug 27 17:26:55 2009 +0530 @@ -746,21 +746,16 @@ efree(value); } } else { - php_register_variable("REQUEST_URI", SG(request_info).request_uri, track_vars_array TSRMLS_CC); + php_register_variable_safe("REQUEST_URI", SG(request_info).request_uri, pos, track_vars_array TSRMLS_CC); } - if (value = nsapi_strdup(SG(request_info).request_uri)) { - if (rc->path_info) { - pos = strlen(SG(request_info).request_uri) - strlen(rc->path_info); - if (pos>=0) { - value[pos] = '\0'; - } else { - value[0]='\0'; - } + if (rc->path_info) { + pos -= strlen(rc->path_info); + if (pos<0) { + pos = 0; } - php_register_variable("SCRIPT_NAME", value, track_vars_array TSRMLS_CC); - nsapi_free(value); } + php_register_variable_safe("SCRIPT_NAME", value, pos, track_vars_array TSRMLS_CC); } php_register_variable("SCRIPT_FILENAME", SG(request_info).path_translated, track_vars_array TSRMLS_CC);
« previous php.internals (#45911) next »