summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2000-07-25 18:50:50 +0000
committerStanislav Malyshev <stas@php.net>2000-07-25 18:50:50 +0000
commita9606d1d4eefda82d00b2610f7f740dff54e179b (patch)
tree92046dec8ad31a3de1bc664d854e7339129a8920
parent104b4f38df174b729430a8c23360c0ce65860de5 (diff)
downloadphp-git-a9606d1d4eefda82d00b2610f7f740dff54e179b.tar.gz
Make browscap parameter names lowercase
Fix . handling in browscap names
-rw-r--r--main/configuration-parser.y11
1 files changed, 8 insertions, 3 deletions
diff --git a/main/configuration-parser.y b/main/configuration-parser.y
index 65cdf3e766..374d680bd7 100644
--- a/main/configuration-parser.y
+++ b/main/configuration-parser.y
@@ -324,13 +324,14 @@ static void convert_browscap_pattern(zval *pattern)
char *t;
for (i=0; i<pattern->value.str.len; i++) {
- if (pattern->value.str.val[i]=='*' || pattern->value.str.val[i]=='?') {
+ if (pattern->value.str.val[i]=='*' || pattern->value.str.val[i]=='?' || pattern->value.str.val[i]=='.') {
break;
}
}
if (i==pattern->value.str.len) { /* no wildcards */
pattern->value.str.val = zend_strndup(pattern->value.str.val, pattern->value.str.len);
+ return;
}
t = (char *) malloc(pattern->value.str.len*2);
@@ -457,14 +458,18 @@ statement:
case PARSING_MODE_BROWSCAP:
if (current_section) {
zval *new_property;
+ char *new_key;
new_property = (zval *) malloc(sizeof(zval));
INIT_PZVAL(new_property);
new_property->value.str.val = $3.value.str.val;
new_property->value.str.len = $3.value.str.len;
new_property->type = IS_STRING;
- /* zend_str_tolower(new_property->value.str.val, new_property->value.str.len); */
- zend_hash_update(current_section->value.obj.properties, $1.value.str.val, $1.value.str.len+1, &new_property, sizeof(zval *), NULL);
+
+ new_key = zend_strndup($1.value.str.val, $1.value.str.len);
+ zend_str_tolower(new_key,$1.value.str.len);
+ zend_hash_update(current_section->value.obj.properties, new_key, $1.value.str.len+1, &new_property, sizeof(zval *), NULL);
+ free(new_key);
}
break;
case PARSING_MODE_STANDALONE: {