about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Src/exec.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/Src/exec.c b/Src/exec.c
index 1b54b7e0f..7335ac7e8 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -399,9 +399,12 @@ zexecve(char *pth, char **argv)
 			    char *buf;
 			    if (*ptr)
 				*ptr = '\0';
-			    buf = tricat("%s: bad interpreter: ", ptr2,
-					 ": %e");
-			    zerr(buf, pth, eno);
+			    /*
+			     * TODO: needs variable argument handling
+			     * in zerrmsg() etc. to do this properly.
+			     */
+			    buf = dyncat(pth, ": bad interpreter: %s: %e");
+			    zerr(buf, ptr2, eno);
 			} else if (*ptr) {
 			    *ptr = '\0';
 			    argv[-2] = ptr2;