diff options
-rw-r--r-- | lib/slre.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/lib/slre.c b/lib/slre.c index 4f455400d3a..5cb0d3ec7fa 100644 --- a/lib/slre.c +++ b/lib/slre.c @@ -484,17 +484,14 @@ is_any_of(const unsigned char *p, int len, const char *s, int *ofs) static int is_any_but(const unsigned char *p, int len, const char *s, int *ofs) { - int i, ch; - - ch = s[*ofs]; + int dummy = *ofs; - for (i = 0; i < len; i++) { - if (p[i] == ch) - return 0; + if (is_any_of(p, len, s, &dummy)) { + return 0; + } else { + (*ofs)++; + return 1; } - - (*ofs)++; - return 1; } static int |