diff options
author | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-09-14 03:38:35 +0000 |
---|---|---|
committer | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-09-16 03:54:19 +0000 |
commit | 2df02212b0528e7636ae9032536bdee4557fb690 (patch) | |
tree | e8931e9ed436c538c58bcd2898f2b200faa0fd94 /Src/Zle/compmatch.c | |
parent | a182afe2f2a8c76c533b199c7da0c8edc6ccc5a5 (diff) | |
download | zsh-2df02212b0528e7636ae9032536bdee4557fb690.tar.gz zsh-2df02212b0528e7636ae9032536bdee4557fb690.tar.xz zsh-2df02212b0528e7636ae9032536bdee4557fb690.zip |
39310/0010: internals: match_str: Simplify expression.
In the first hunk we actually know that ind==0 since sfx==0, but keep it identical to the last hunk. Also add a comment (unrelated).
Diffstat (limited to 'Src/Zle/compmatch.c')
-rw-r--r-- | Src/Zle/compmatch.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c index fde7010a9..f82f00e1d 100644 --- a/Src/Zle/compmatch.c +++ b/Src/Zle/compmatch.c @@ -569,8 +569,7 @@ match_str(char *l, char *w, Brinfo *bpp, int bc, int *rwlp, bslash = 0; if (!sfx && lw && (!part || test) && (l[ind] == w[ind] || - (bslash = (lw > 1 && w[ind] == '\\' && - (ind ? (w[0] == l[0]) : (w[1] == l[0])))))) { + (bslash = (lw > 1 && w[ind] == '\\' && w[ind+1] == l[0])))) { /* No matcher could be used, but the strings have the same * character here, skip over it. */ l += add; w += (bslash ? (add + add) : add); @@ -855,8 +854,10 @@ match_str(char *l, char *w, Brinfo *bpp, int bc, int *rwlp, if (!llen && !alen) { lm = mp; - if (he) + if (he) { + /* Signal the outer for loop to continue. */ mp = NULL; + } else he = 1; } else { @@ -996,8 +997,7 @@ match_str(char *l, char *w, Brinfo *bpp, int bc, int *rwlp, bslash = 0; if ((!test || sfx) && lw && (l[ind] == w[ind] || - (bslash = (lw > 1 && w[ind] == '\\' && - (ind ? (w[0] == l[0]) : (w[1] == l[0])))))) { + (bslash = (lw > 1 && w[ind] == '\\' && w[ind+1] == l[0])))) { /* No matcher could be used, but the strings have the same * character here, skip over it. */ l += add; w += (bslash ? (add + add ) : add); |