Johannes Altmanninger <aclopte@xxxxxxxxx> wrote: > I noticed another regression in c5bf970 (expand: Add multi-byte > support to pmatch, 2024-06-02). > > This command now prints "abc-def" but used to print "ef". > > x=abc-def > y="${x##*d}" > echo "$y" Fix this by setting s to the correct value in scanright based on FNMATCH_IS_ENABLED. Fixes: c5bf9702ea11 ("expand: Add multi-byte support to pmatch") Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> diff --git a/src/expand.c b/src/expand.c index 7a30648..0066e1a 100644 --- a/src/expand.c +++ b/src/expand.c @@ -650,7 +650,7 @@ static char *scanright(char *startp, char *endp, char *rmesc, char *rmescend, if (zero) { *s = '\0'; - s = rmesc; + s = FNMATCH_IS_ENABLED ? rmesc : startp; } match = pmatch(str, s); *(FNMATCH_IS_ENABLED ? loc2 : loc) = c; Thanks, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt