diff options
author | Stanislav Malyshev <stas@php.net> | 2000-07-25 18:50:50 +0000 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2000-07-25 18:50:50 +0000 |
commit | a9606d1d4eefda82d00b2610f7f740dff54e179b (patch) | |
tree | 92046dec8ad31a3de1bc664d854e7339129a8920 | |
parent | 104b4f38df174b729430a8c23360c0ce65860de5 (diff) | |
download | php-git-a9606d1d4eefda82d00b2610f7f740dff54e179b.tar.gz |
Make browscap parameter names lowercase
Fix . handling in browscap names
-rw-r--r-- | main/configuration-parser.y | 11 |
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: { |