diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2007-01-18 17:27:10 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2007-01-18 17:27:10 +0000 |
commit | 481d1b7560df30f3e9f7b1ec86349d77ce224b5d (patch) | |
tree | ec4fb551356198a410dab31b43db0ef6aa8a45d0 /Src/subst.c | |
parent | 110ae85114abc12211e2fcae7dafc6400e57cdb1 (diff) | |
download | zsh-481d1b7560df30f3e9f7b1ec86349d77ce224b5d.tar.gz zsh-481d1b7560df30f3e9f7b1ec86349d77ce224b5d.tar.xz zsh-481d1b7560df30f3e9f7b1ec86349d77ce224b5d.zip |
23114: ${foo:s/bar/rod} broken
Diffstat (limited to 'Src/subst.c')
-rw-r--r-- | Src/subst.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Src/subst.c b/Src/subst.c index 2bc6d75a6..cee2e6e5c 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -3477,7 +3477,11 @@ modify(char **str, char **ptr) chuck(tt--); *ptr1end = sav1; *ptr3 = sav; - *ptr = ptr3 + charlen - 1; + *ptr = ptr3 - 1; + if (*ptr3) { + /* Final terminator is optional. */ + *ptr += charlen; + } break; case '&': |