jani            Fri Aug 10 12:17:26 2007 UTC

  Added files:                 (Branch: PHP_5_2)
    /php-src/ext/standard/tests/array   bug42233.phpt 

  Modified files:              
    /php-src/ext/standard       array.c 
  Log:
  - Fix the fix for bug #42233
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.31&r2=1.308.2.21.2.32&diff_format=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.308.2.21.2.31 
php-src/ext/standard/array.c:1.308.2.21.2.32
--- php-src/ext/standard/array.c:1.308.2.21.2.31        Wed Aug  8 07:41:09 2007
+++ php-src/ext/standard/array.c        Fri Aug 10 12:17:26 2007
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: array.c,v 1.308.2.21.2.31 2007/08/08 07:41:09 jani Exp $ */
+/* $Id: array.c,v 1.308.2.21.2.32 2007/08/10 12:17:26 jani Exp $ */
 
 #include "php.h"
 #include "php_ini.h"
@@ -1282,32 +1282,34 @@
 
 static int php_valid_var_name(char *var_name, int len) /* {{{ */
 {
-       int i;
+       int i, ch;
        
        if (!var_name)
                return 0;
 
        /* These are allowed as first char: [a-zA-Z_\x7f-\xff] */
-       if (var_name[0] == '_' ||
-               (((int)((unsigned char *)var_name)[0]) >= 65  /* A    */ && /* 
Z    */ 90  <= ((int)((unsigned char *)var_name)[0])) ||
-               (((int)((unsigned char *)var_name)[0]) >= 97  /* a    */ && /* 
z    */ 122 <= ((int)((unsigned char *)var_name)[0])) ||
-               (((int)((unsigned char *)var_name)[0]) >= 127 /* 0x7f */ && /* 
0xff */ 255 <= ((int)((unsigned char *)var_name)[0]))
+       ch = (int)((unsigned char *)var_name)[0];
+       if (var_name[0] != '_' &&
+               (ch < 65  /* A    */ || /* Z    */ ch > 90)  &&
+               (ch < 97  /* a    */ || /* z    */ ch > 122) &&
+               (ch < 127 /* 0x7f */ || /* 0xff */ ch > 255)
        ) {
-               /* And these as the rest: [a-zA-Z0-9_\x7f-\xff] */
-               if (len > 1) {
-                       for (i = 1; i < len; i++) {
-                               if (var_name[i] == '_' ||
-                                       (((int)((unsigned char *)var_name)[i]) 
>= 48  /* 0    */ && /* 9    */ 57  <= ((int)((unsigned char *)var_name)[i])) ||
-                                       (((int)((unsigned char *)var_name)[i]) 
>= 65  /* A    */ && /* Z    */ 90  <= ((int)((unsigned char *)var_name)[i])) ||
-                                       (((int)((unsigned char *)var_name)[i]) 
>= 97  /* a    */ && /* z    */ 122 <= ((int)((unsigned char *)var_name)[i])) ||
-                                       (((int)((unsigned char *)var_name)[i]) 
>= 127 /* 0x7f */ && /* 0xff */ 255 <= ((int)((unsigned char *)var_name)[i]))
-                               ) {     } else {
-                                       return 0;
-                               }
+               return 0;
+       }
+
+       /* And these as the rest: [a-zA-Z0-9_\x7f-\xff] */
+       if (len > 1) {
+               for (i = 1; i < len; i++) {
+                       ch = (int)((unsigned char *)var_name)[i];
+                       if (var_name[i] != '_' &&
+                               (ch < 48  /* 0    */ || /* 9    */ ch > 57)  &&
+                               (ch < 65  /* A    */ || /* Z    */ ch > 90)  &&
+                               (ch < 97  /* a    */ || /* z    */ ch > 122) &&
+                               (ch < 127 /* 0x7f */ || /* 0xff */ ch > 255)
+                       ) {     
+                               return 0;
                        }
                }
-       } else {
-               return 0;
        }
        return 1;
 }

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug42233.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/bug42233.phpt
+++ php-src/ext/standard/tests/array/bug42233.phpt

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to