You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@hyperreal.org on 1998/06/20 15:12:36 UTC
cvs commit: apache-1.3/src/main fnmatch.c
coar 98/06/20 06:12:36
Modified: src/main fnmatch.c
Log:
Sincethis has been modified for Apache, modify it some more
(cosmetically) to meet our style guide.
Revision Changes Path
1.10 +50 -36 apache-1.3/src/main/fnmatch.c
Index: fnmatch.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/main/fnmatch.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- fnmatch.c 1998/04/11 12:00:28 1.9
+++ fnmatch.c 1998/06/20 13:12:36 1.10
@@ -51,76 +51,84 @@
static const char *rangematch(const char *, int, int);
-API_EXPORT(int) ap_fnmatch(pattern, string, flags)
- const char *pattern, *string;
- int flags;
+API_EXPORT(int) ap_fnmatch(const char *pattern, const char *string, int flags)
{
const char *stringstart;
char c, test;
- for (stringstart = string;;)
+ for (stringstart = string;;) {
switch (c = *pattern++) {
case EOS:
return (*string == EOS ? 0 : FNM_NOMATCH);
case '?':
- if (*string == EOS)
+ if (*string == EOS) {
return (FNM_NOMATCH);
- if (*string == '/' && (flags & FNM_PATHNAME))
+ }
+ if (*string == '/' && (flags & FNM_PATHNAME)) {
return (FNM_NOMATCH);
+ }
if (*string == '.' && (flags & FNM_PERIOD) &&
(string == stringstart ||
- ((flags & FNM_PATHNAME) && *(string - 1) == '/')))
+ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) {
return (FNM_NOMATCH);
+ }
++string;
break;
case '*':
c = *pattern;
/* Collapse multiple stars. */
- while (c == '*')
+ while (c == '*') {
c = *++pattern;
+ }
if (*string == '.' && (flags & FNM_PERIOD) &&
(string == stringstart ||
- ((flags & FNM_PATHNAME) && *(string - 1) == '/')))
+ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) {
return (FNM_NOMATCH);
+ }
/* Optimize for pattern with * at end or before /. */
if (c == EOS) {
if (flags & FNM_PATHNAME) {
- return (strchr(string, '/') == NULL ?
- 0 : FNM_NOMATCH);
+ return (strchr(string, '/') == NULL ? 0 : FNM_NOMATCH);
}
else {
return (0);
}
}
else if (c == '/' && flags & FNM_PATHNAME) {
- if ((string = strchr(string, '/')) == NULL)
+ if ((string = strchr(string, '/')) == NULL) {
return (FNM_NOMATCH);
+ }
break;
}
/* General case, use recursion. */
while ((test = *string) != EOS) {
- if (!ap_fnmatch(pattern, string, flags & ~FNM_PERIOD))
+ if (!ap_fnmatch(pattern, string, flags & ~FNM_PERIOD)) {
return (0);
- if (test == '/' && flags & FNM_PATHNAME)
+ }
+ if (test == '/' && flags & FNM_PATHNAME) {
break;
+ }
++string;
}
return (FNM_NOMATCH);
case '[':
- if (*string == EOS)
+ if (*string == EOS) {
return (FNM_NOMATCH);
- if (*string == '/' && flags & FNM_PATHNAME)
+ }
+ if (*string == '/' && flags & FNM_PATHNAME) {
return (FNM_NOMATCH);
+ }
if (*string == '.' && (flags & FNM_PERIOD) &&
(string == stringstart ||
- ((flags & FNM_PATHNAME) && *(string - 1) == '/')))
- return (FNM_NOMATCH);
- if ((pattern =
- rangematch(pattern, *string, flags)) == NULL)
+ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) {
+ return (FNM_NOMATCH);
+ }
+ if ((pattern = rangematch(pattern, *string, flags)) == NULL) {
return (FNM_NOMATCH);
+ }
++string;
break;
case '\\':
@@ -131,18 +139,17 @@
}
}
/* FALLTHROUGH */
- default:
- if (c != *string++)
+ default:
+ if (c != *string++) {
return (FNM_NOMATCH);
+ }
break;
}
/* NOTREACHED */
+ }
}
-static const char *
- rangematch(pattern, test, flags)
- const char *pattern;
- int test, flags;
+static const char *rangematch(const char *pattern, int test, int flags)
{
int negate, ok;
char c, c2;
@@ -154,26 +161,32 @@
* consistency with the regular expression syntax.
* J.T. Conklin (conklin@ngai.kaleida.com)
*/
- if ((negate = (*pattern == '!' || *pattern == '^')))
+ if ((negate = (*pattern == '!' || *pattern == '^'))) {
++pattern;
+ }
for (ok = 0; (c = *pattern++) != ']';) {
- if (c == '\\' && !(flags & FNM_NOESCAPE))
+ if (c == '\\' && !(flags & FNM_NOESCAPE)) {
c = *pattern++;
- if (c == EOS)
+ }
+ if (c == EOS) {
return (NULL);
- if (*pattern == '-'
- && (c2 = *(pattern + 1)) != EOS && c2 != ']') {
+ }
+ if (*pattern == '-' && (c2 = *(pattern + 1)) != EOS && c2 != ']') {
pattern += 2;
- if (c2 == '\\' && !(flags & FNM_NOESCAPE))
+ if (c2 == '\\' && !(flags & FNM_NOESCAPE)) {
c2 = *pattern++;
- if (c2 == EOS)
+ }
+ if (c2 == EOS) {
return (NULL);
- if (c <= test && test <= c2)
+ }
+ if (c <= test && test <= c2) {
ok = 1;
+ }
}
- else if (c == test)
+ else if (c == test) {
ok = 1;
+ }
}
return (ok == negate ? NULL : pattern);
}
@@ -203,8 +216,9 @@
break;
case ']':
- if (nesting)
+ if (nesting) {
return 1;
+ }
break;
}
++pattern;