aboutsummaryrefslogtreecommitdiff
path: root/xs_match.h
diff options
context:
space:
mode:
Diffstat (limited to 'xs_match.h')
-rw-r--r--xs_match.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/xs_match.h b/xs_match.h
index 0b89ac8..76c1bf3 100644
--- a/xs_match.h
+++ b/xs_match.h
@@ -24,6 +24,7 @@ int xs_match(const char *str, const char *spec)
retry:
for (;;) {
+ const char *q = spec;
char c = *str++;
char p = *spec++;
@@ -63,8 +64,12 @@ retry:
spec = b_spec;
str = ++b_str;
}
- else
+ else {
+ if (*q == '|')
+ spec = q;
+
break;
+ }
}
}
}