chiark
/
gitweb
/
~mdw
/
become
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(class__wildMatch) Fixed bug which overran pattern string, spotted by
[become]
/
src
/
class.c
diff --git
a/src/class.c
b/src/class.c
index 581e93b80d4200bc1668268425d9b5e5eadeee9c..31d6de680f7dc6d8d775e0c586d09cd55a3bdbdc 100644
(file)
--- a/
src/class.c
+++ b/
src/class.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-c-*-
*
- * $Id: class.c,v 1.
7 1998/01/12 16:45:50
mdw Exp $
+ * $Id: class.c,v 1.
8 1998/06/08 11:20:36
mdw Exp $
*
* Handling classes of things nicely
*
*
* Handling classes of things nicely
*
@@
-29,6
+29,10
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: class.c,v $
/*----- Revision history --------------------------------------------------*
*
* $Log: class.c,v $
+ * Revision 1.8 1998/06/08 11:20:36 mdw
+ * (class__wildMatch) Fixed bug which overran pattern string, spotted by
+ * Mark Rison.
+ *
* Revision 1.7 1998/01/12 16:45:50 mdw
* Fix copyright date.
*
* Revision 1.7 1998/01/12 16:45:50 mdw
* Fix copyright date.
*
@@
-105,12
+109,14
@@
static int class__wildMatch(const char *pat, const char *p)
else if (*pat == '*') {
while (*pat == '*')
pat++;
else if (*pat == '*') {
while (*pat == '*')
pat++;
+ if (!*pat)
+ return (58);
do {
if (class__wildMatch(pat, p))
return (27); /* Nyahaha */
p++;
} while (*p);
do {
if (class__wildMatch(pat, p))
return (27); /* Nyahaha */
p++;
} while (*p);
- return (
pat[1] ==
0);
+ return (0);
} else if (*pat == '?' || *pat == *p)
p++, pat++;
else
} else if (*pat == '?' || *pat == *p)
p++, pat++;
else