diff options
author | Bart Schaefer <schaefer@zsh.org> | 2023-09-16 20:51:27 -0700 |
---|---|---|
committer | Bart Schaefer <schaefer@zsh.org> | 2023-09-16 20:51:27 -0700 |
commit | 1becbba0b614c9ef17ba28aa51c4e8e7d21f1e0f (patch) | |
tree | 96a6d596b51ef4917ea24b9fd6214cd360831c9a /Src/subst.c | |
parent | f72757ccf30610fe8fdd1ed76d080971f767edaf (diff) | |
download | zsh-1becbba0b614c9ef17ba28aa51c4e8e7d21f1e0f.tar.gz zsh-1becbba0b614c9ef17ba28aa51c4e8e7d21f1e0f.tar.xz zsh-1becbba0b614c9ef17ba28aa51c4e8e7d21f1e0f.zip |
users/29160, workers/52156: Fix repetition of substitution modifier.
Diffstat (limited to 'Src/subst.c')
-rw-r--r-- | Src/subst.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Src/subst.c b/Src/subst.c index 52afd6484..dc2052ee0 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -4689,7 +4689,8 @@ modify(char **str, char **ptr, int inbrace) case 'S': hsubpatopt = (c == 'S'); if (hsubl && hsubr) - subst(©, hsubl, hsubr, gbal, hsubpatopt); + subst(©, dupstring(hsubl), dupstring(hsubr), + gbal, hsubpatopt); break; case 'q': copy = quotestring(copy, QT_BACKSLASH_SHOWNULL); @@ -4777,7 +4778,8 @@ modify(char **str, char **ptr, int inbrace) case 'S': hsubpatopt = (c == 'S'); if (hsubl && hsubr) - subst(str, hsubl, hsubr, gbal, hsubpatopt); + subst(str, dupstring(hsubl), dupstring(hsubr), + gbal, hsubpatopt); break; case 'q': *str = quotestring(*str, QT_BACKSLASH); |