summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib-src/emacsclient.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index ca184cbb034..eb2f7d9d6e9 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -325,10 +325,10 @@ main (argc, argv)
char *p = argv[i] + 1;
while (*p >= '0' && *p <= '9') p++;
if (*p != 0)
- fprintf (out, "%s/", cwd);
+ fprintf (out, "%s/", quote_file_name (cwd));
}
else if (*argv[i] != '/')
- fprintf (out, "%s/", cwd);
+ fprintf (out, "%s/", quote_file_name (cwd));
fprintf (out, "%s ", quote_file_name (argv[i]));
}
@@ -476,7 +476,8 @@ main (argc, argv)
modified_arg = quote_file_name (modified_arg);
if (need_cwd)
- used += strlen (cwd);
+ /* Overestimate in case we have to quote something in CWD. */
+ used += 2 * strlen (cwd);
used += strlen (modified_arg) + 1;
while (used + 2 > size_allocated)
{
@@ -487,7 +488,7 @@ main (argc, argv)
}
if (need_cwd)
- strcat (msgp->mtext, cwd);
+ strcat (msgp->mtext, quote_file_name (cwd));
strcat (msgp->mtext, modified_arg);
strcat (msgp->mtext, " ");