summaryrefslogtreecommitdiff
path: root/lib-src/emacsclient.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-07-26 19:56:03 +0000
committerRichard M. Stallman <rms@gnu.org>1994-07-26 19:56:03 +0000
commitfc45269353cd1b8819a51f4e9509e4a034ea065e (patch)
tree1066e93abe82b9f89a7dd461203bd343effd9d4c /lib-src/emacsclient.c
parentb35841cae21453a1be792f81011f78f1db1fee21 (diff)
downloademacs-fc45269353cd1b8819a51f4e9509e4a034ea065e.tar.gz
(main): Don't actually modify argv[0]. Modify a copy instead.
Diffstat (limited to 'lib-src/emacsclient.c')
-rw-r--r--lib-src/emacsclient.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index cacfaa8658f..f613daf21d5 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -251,19 +251,20 @@ main (argc, argv)
while (argc)
{
int need_cwd = 0;
- if (*argv[0] == '+')
+ char *modified_arg = argv[0];
+ if (*modified_arg == '+')
{
- char *p = argv[0] + 1;
+ char *p = modified_arg + 1;
while (*p >= '0' && *p <= '9') p++;
if (*p != 0)
need_cwd = 1;
}
- else if (*argv[0] != '/')
+ else if (*modified_arg != '/')
need_cwd = 1;
if (need_cwd)
used += strlen (cwd);
- used += strlen (argv[0]) + 1;
+ used += strlen (modified_arg) + 1;
while (used + 2 > size_allocated)
{
size_allocated *= 2;
@@ -275,7 +276,7 @@ main (argc, argv)
if (need_cwd)
strcat (msgp->mtext, cwd);
- strcat (msgp->mtext, argv[0]);
+ strcat (msgp->mtext, modified_arg);
strcat (msgp->mtext, " ");
argv++; argc--;
}