From 037485c4a474395064e2b5b1da281ca052796320 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 17 Sep 2004 09:25:38 +0000 Subject: 20378: Matthias B.: fix bugs joining with metafied chars. --- Src/params.c | 2 +- Src/utils.c | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'Src') 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; } -- cgit 1.4.1