cvs: php-src(PHP_5_2) /ext/standard array.c
| From: | Ilia Alshanetsky | Date: | Sun, 10 Dec 2006 19:43:03 +0000 |
| Subject: | cvs: php-src(PHP_5_2) /ext/standard array.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-42044@lists.php.net to get a copy of this message | ||
iliaa Sun Dec 10 19:43:03 2006 UTC
Modified files: (Branch: PHP_5_2)
/php-src/ext/standard array.c
Log:
Optimize extract()
# Patch by Brian Shire
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.19&r2=1.308.2.21.2.20&diff_format=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.308.2.21.2.19 php-src/ext/standard/array.c:1.308.2.21.2.20
--- php-src/ext/standard/array.c:1.308.2.21.2.19 Wed Nov 22 10:42:41 2006
+++ php-src/ext/standard/array.c Sun Dec 10 19:43:03 2006
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: array.c,v 1.308.2.21.2.19 2006/11/22 10:42:41 tony2001 Exp $ */
+/* $Id: array.c,v 1.308.2.21.2.20 2006/12/10 19:43:03 iliaa Exp $ */
#include "php.h"
#include "php_ini.h"
@@ -1270,15 +1270,13 @@
/* }}} */
-static int php_valid_var_name(char *var_name)
+static int php_valid_var_name(char *var_name, int len)
{
- int len, i;
+ int i;
if (!var_name)
return 0;
- len = strlen(var_name);
-
if (!isalpha((int)((unsigned char *)var_name)[0]) && var_name[0] != '_')
return 0;
@@ -1409,7 +1407,7 @@
case EXTR_PREFIX_INVALID:
if (final_name.len == 0) {
- if (!php_valid_var_name(var_name)) {
+ if (!php_valid_var_name(var_name, var_name_len)) {
smart_str_appendl(&final_name, Z_STRVAL_PP(prefix), Z_STRLEN_PP(prefix));
smart_str_appendc(&final_name, '_');
smart_str_appendl(&final_name, var_name, var_name_len);
@@ -1426,7 +1424,7 @@
if (final_name.len) {
smart_str_0(&final_name);
- if (php_valid_var_name(final_name.c)) {
+ if (php_valid_var_name(final_name.c, final_name.len)) {
if (extract_refs) {
zval **orig_var;