- Adapted indenation to new agreed upon system

- Added support for second generation scriptcontext based counter
This commit is contained in:
koennecke
2009-02-13 09:00:03 +00:00
parent a3dcad2bfa
commit 91d4af0541
405 changed files with 88101 additions and 88173 deletions

View File

@@ -3,48 +3,53 @@
int match(const char *mask, const char *name)
{
int calls=0, wild=0, q=0;
const char *m=mask, *n=name, *ma=mask, *na=name;
int calls = 0, wild = 0, q = 0;
const char *m = mask, *n = name, *ma = mask, *na = name;
for(;;) {
if (++calls > MAX_CALLS) return 1;
if (*m == '*') {
while (*m == '*') ++m;
wild = 1;
ma = m;
na = n;
}
for (;;) {
if (++calls > MAX_CALLS)
return 1;
if (*m == '*') {
while (*m == '*')
++m;
wild = 1;
ma = m;
na = n;
}
if (!*m) {
if (!*n) return 0;
if (!*m) {
if (!*n)
return 0;
for (--m; (m > mask) && (*m == '?'); --m) ;
for (--m; (m > mask) && (*m == '?'); --m);
if ((*m == '*') && (m > mask) &&
(m[-1] != '\\'))
return 0;
if (!wild)
return 1;
m = ma;
} else if (!*n) {
while(*m == '*') ++m;
return (*m != 0);
}
if ((*m == '\\') && ((m[1] == '*') || (m[1] == '?'))) {
++m;
q = 1;
} else {
q = 0;
}
if ((*m == '*') && (m > mask) && (m[-1] != '\\'))
return 0;
if (!wild)
return 1;
m = ma;
} else if (!*n) {
while (*m == '*')
++m;
return (*m != 0);
}
if ((*m == '\\') && ((m[1] == '*') || (m[1] == '?'))) {
++m;
q = 1;
} else {
q = 0;
}
if ((tolower(*m) != tolower(*n)) && ((*m != '?') || q)) {
if (!wild) return 1;
m = ma;
n = ++na;
} else {
if (*m) ++m;
if (*n) ++n;
}
}
if ((tolower(*m) != tolower(*n)) && ((*m != '?') || q)) {
if (!wild)
return 1;
m = ma;
n = ++na;
} else {
if (*m)
++m;
if (*n)
++n;
}
}
}