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;
}