diff options
Diffstat (limited to 'Src')
-rw-r--r-- | Src/params.c | 2 | ||||
-rw-r--r-- | Src/utils.c | 4 |
2 files changed, 2 insertions, 4 deletions
diff --git a/Src/params.c b/Src/params.c index f9e382004..7ba0359b7 100644 --- a/Src/params.c +++ b/Src/params.c @@ -2643,7 +2643,7 @@ tiedarrsetfn(Param pm, char *x) if (imeta(dptr->joinchar)) { sepbuf[0] = Meta; - sepbuf[1] = dptr->joinchar; + sepbuf[1] = dptr->joinchar ^ 32; sepbuf[2] = '\0'; } else diff --git a/Src/utils.c b/Src/utils.c index 143855160..ba31a1315 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -1912,16 +1912,14 @@ zjoin(char **arr, int delim, int heap) ptr = ret = (heap ? (char *) hcalloc(len) : (char *) zshcalloc(len)); for (s = arr; *s; s++) { strucpy(&ptr, *s); - if (delim) { if (imeta(delim)) { *ptr++ = Meta; *ptr++ = delim ^ 32; } else *ptr++ = delim; - } } - ptr[-1] = '\0'; + ptr[-1 - (imeta(delim) ? 1 : 0)] = '\0'; return ret; } |