diff options
author | Ondřej Surý <ondrej@sury.org> | 2012-06-14 16:02:21 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2012-06-14 16:02:21 +0200 |
commit | f0f8d7084aec4be5c07f02f2e29c2820f85c8315 (patch) | |
tree | 02e9b39d5b0088a0e27126010c96a748d824d055 /ext/fileinfo/libmagic | |
parent | 90ceaa9e92fadfef4c21ec0f76063c4387beb561 (diff) | |
download | php-f0f8d7084aec4be5c07f02f2e29c2820f85c8315.tar.gz |
Imported Upstream version 5.4.4upstream/5.4.4
Diffstat (limited to 'ext/fileinfo/libmagic')
-rw-r--r-- | ext/fileinfo/libmagic/softmagic.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/ext/fileinfo/libmagic/softmagic.c b/ext/fileinfo/libmagic/softmagic.c index f9c2836dd..648f64169 100644 --- a/ext/fileinfo/libmagic/softmagic.c +++ b/ext/fileinfo/libmagic/softmagic.c @@ -1654,6 +1654,29 @@ convert_libmagic_pattern(zval *pattern, int options) for (i=0; i<Z_STRLEN_P(pattern); i++, j++) { switch (Z_STRVAL_P(pattern)[i]) { + case '?': + t[j] = '.'; + break; + case '*': + t[j++] = '.'; + t[j] = '*'; + break; + case '.': + t[j++] = '\\'; + t[j] = '.'; + break; + case '\\': + t[j++] = '\\'; + t[j] = '\\'; + break; + case '(': + t[j++] = '\\'; + t[j] = '('; + break; + case ')': + t[j++] = '\\'; + t[j] = ')'; + break; case '~': t[j++] = '\\'; t[j] = '~'; @@ -1850,7 +1873,7 @@ magiccheck(struct magic_set *ms, struct magic *m) convert_libmagic_pattern(pattern, options); - l = v = 0; + l = 0; #if (PHP_MAJOR_VERSION < 6) if ((pce = pcre_get_compiled_regex_cache(Z_STRVAL_P(pattern), Z_STRLEN_P(pattern) TSRMLS_CC)) == NULL) { #else |