diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-06-29 06:59:00 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-06-29 06:59:00 +0000 |
commit | 806e8aa6afe6b8864c0124bfcdd7a0909110379b (patch) | |
tree | b740f617fd5775ab4e0a5bb27e206d95b96ea697 /Src | |
parent | d38f54a92862cfc054bb11bc48066fdeba8b6106 (diff) | |
download | zsh-806e8aa6afe6b8864c0124bfcdd7a0909110379b.tar.gz zsh-806e8aa6afe6b8864c0124bfcdd7a0909110379b.tar.xz zsh-806e8aa6afe6b8864c0124bfcdd7a0909110379b.zip |
quote brace-strings (12113)
Diffstat (limited to 'Src')
-rw-r--r-- | Src/Zle/zle_tricky.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c index a4095b1a2..e081b40a1 100644 --- a/Src/Zle/zle_tricky.c +++ b/Src/Zle/zle_tricky.c @@ -1464,11 +1464,12 @@ get_comp_string(void) lastbrbeg = new; new->next = NULL; - new->str = ztrduppfx(bbeg, len); + new->str = dupstrpfx(bbeg, len); + new->str = ztrdup(bslashquote(new->str, NULL, instring)); untokenize(new->str); new->pos = begi; *dbeg = '\0'; - new->qpos = strlen(quotename(predup, NULL)); + new->qpos = strlen(bslashquote(predup, NULL, instring)); *dbeg = '{'; i -= len; boffs -= len; @@ -1511,11 +1512,12 @@ get_comp_string(void) brbeg = new; lastbrbeg = new; - new->str = ztrduppfx(bbeg, len); + new->str = dupstrpfx(bbeg, len); + new->str = ztrdup(bslashquote(new->str, NULL, instring)); untokenize(new->str); new->pos = begi; *dbeg = '\0'; - new->qpos = strlen(quotename(predup, NULL)); + new->qpos = strlen(bslashquote(predup, NULL, instring)); *dbeg = '{'; i -= len; boffs -= len; @@ -1547,7 +1549,8 @@ get_comp_string(void) new->next = brend; brend = new; - new->str = ztrduppfx(bbeg, len); + new->str = dupstrpfx(bbeg, len); + new->str = ztrdup(bslashquote(new->str, NULL, instring)); untokenize(new->str); new->pos = dp - predup - len + 1; new->qpos = len; @@ -1575,11 +1578,12 @@ get_comp_string(void) brbeg = new; lastbrbeg = new; - new->str = ztrduppfx(bbeg, len); + new->str = dupstrpfx(bbeg, len); + new->str = ztrdup(bslashquote(new->str, NULL, instring)); untokenize(new->str); new->pos = begi; *dbeg = '\0'; - new->qpos = strlen(quotename(predup, NULL)); + new->qpos = strlen(bslashquote(predup, NULL, instring)); *dbeg = '{'; boffs -= len; strcpy(dbeg, dbeg + len); @@ -1594,7 +1598,7 @@ get_comp_string(void) p = bp->pos; l = bp->qpos; bp->pos = strlen(predup + p + l); - bp->qpos = strlen(quotename(predup + p + l, NULL)); + bp->qpos = strlen(bslashquote(predup + p + l, NULL, instring)); strcpy(predup + p, predup + p + l); } } |