summaryrefslogtreecommitdiff
path: root/ext/fileinfo/libmagic
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2012-06-14 16:02:21 +0200
committerOndřej Surý <ondrej@sury.org>2012-06-14 16:02:21 +0200
commitf0f8d7084aec4be5c07f02f2e29c2820f85c8315 (patch)
tree02e9b39d5b0088a0e27126010c96a748d824d055 /ext/fileinfo/libmagic
parent90ceaa9e92fadfef4c21ec0f76063c4387beb561 (diff)
downloadphp-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.c25
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