summaryrefslogtreecommitdiff
path: root/gnu/usr.bin
diff options
context:
space:
mode:
authorJoerg Wunsch <joerg@FreeBSD.org>1995-04-11 22:01:53 +0000
committerJoerg Wunsch <joerg@FreeBSD.org>1995-04-11 22:01:53 +0000
commitc8a2ad770c234c4d332078b14e61f2f4c1c693d5 (patch)
treec9416405134e14b9539618140d315d9dd3932adf /gnu/usr.bin
parentbfb50190bbe800d850f5b26f90342ad02bf02b85 (diff)
Notes
Diffstat (limited to 'gnu/usr.bin')
-rw-r--r--gnu/usr.bin/man/man/glob.c15
-rw-r--r--gnu/usr.bin/man/man/man.c3
2 files changed, 14 insertions, 4 deletions
diff --git a/gnu/usr.bin/man/man/glob.c b/gnu/usr.bin/man/man/glob.c
index 5bfb1bf6869f..6a89ba67e2cd 100644
--- a/gnu/usr.bin/man/man/glob.c
+++ b/gnu/usr.bin/man/man/glob.c
@@ -197,7 +197,8 @@ glob_match (pattern, text, dot_special)
{
register char c1 = *t++;
int invert;
-
+ char *cp1 = p;
+
if (c1 == '\0')
return 0;
@@ -218,8 +219,15 @@ glob_match (pattern, text, dot_special)
}
if (cstart == '\0')
- return 0; /* Missing ']'. */
-
+ {
+ /* Missing ']'. */
+ if (c1 != '[')
+ return 0;
+ /* matched a single bracket */
+ p = cp1;
+ goto breakbracket;
+ }
+
c = *p++;
if (c == '-')
@@ -254,6 +262,7 @@ glob_match (pattern, text, dot_special)
}
if (invert)
return 0;
+ breakbracket:
break;
}
diff --git a/gnu/usr.bin/man/man/man.c b/gnu/usr.bin/man/man/man.c
index c5b05e244a12..4e20d4df471d 100644
--- a/gnu/usr.bin/man/man/man.c
+++ b/gnu/usr.bin/man/man/man.c
@@ -458,7 +458,8 @@ is_section (name)
register char **vs;
for (vs = section_list; *vs != NULL; vs++)
- if ((strcmp (*vs, name) == NULL) || (isdigit (name[0])))
+ if ((strcmp (*vs, name) == NULL)
+ || (isdigit (name[0]) && strlen(name) == 1))
return strdup (name);
return NULL;