diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-06-19 11:43:12 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-06-19 11:43:12 +0000 |
commit | 11ec14c3b3942cf2c790bf077e704f745b754db9 (patch) | |
tree | 46be924034566539bcce8d54d5d3f6d20be7bee5 /Src/Zle/computil.c | |
parent | 083befef2bfe9a93dbf6a6acfe2faed7f743d6ed (diff) | |
download | zsh-11ec14c3b3942cf2c790bf077e704f745b754db9.tar.gz zsh-11ec14c3b3942cf2c790bf077e704f745b754db9.tar.xz zsh-11ec14c3b3942cf2c790bf077e704f745b754db9.zip |
more careful when optimising patterns in compfiles (11981)
Diffstat (limited to 'Src/Zle/computil.c')
-rw-r--r-- | Src/Zle/computil.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index 3955ed69d..d65eaa5bf 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -3159,7 +3159,7 @@ cfp_matcher_pats(char *matcher, char *add) if (m->wlen < 0 && !m->llen && m->ralen == 1) { for (tmp = add, tl = al, mp = ms; tl; tl--, tmp++, mp++) { if (pattern_match(m->right, tmp, NULL, NULL)) { - if (*mp) { + if (*mp || (tmp == add && *tmp == '.')) { *tmp = '\0'; al = tmp - add; break; @@ -3190,7 +3190,7 @@ cfp_matcher_pats(char *matcher, char *add) } } if (*add) { - char *ret = "", buf[259]; + char *ret = "", buf[259], *oadd = add; for (mp = ms; *add; add++, mp++) { if (!(m = *mp)) { |