mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-10-02 08:51:18 +02:00
Another fix in sub_match() to avoid allowing a partial-meta match
to occur (this time in the backwards scan).
This commit is contained in:
parent
40678f6b66
commit
ba827bb22b
@ -1593,10 +1593,15 @@ sub_match(Cmdata md, char *str, int len, int sfx)
|
||||
l < len && l < md->len && p[ind] == q[ind];
|
||||
l++, p += add, q += add) {}
|
||||
|
||||
/* Make sure we don't end with a widowed Meta (which can only
|
||||
* happen in a forward scan). */
|
||||
if (l && add == 1 && p[-1] == Meta)
|
||||
l--;
|
||||
/* Make sure we don't end in the middle of a Meta sequence. */
|
||||
if (add == 1) {
|
||||
if (l && p[-1] == Meta)
|
||||
l--;
|
||||
} else {
|
||||
if (l && ((l < len && p[-1] == Meta)
|
||||
|| (l < md->len && q[-1] == Meta)))
|
||||
l--;
|
||||
}
|
||||
if (l) {
|
||||
/* There was a common prefix, use it. */
|
||||
md->len -= l; len -= l;
|
||||
|
Loading…
Reference in New Issue
Block a user