diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-07-26 19:56:03 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-07-26 19:56:03 +0000 |
commit | fc45269353cd1b8819a51f4e9509e4a034ea065e (patch) | |
tree | 1066e93abe82b9f89a7dd461203bd343effd9d4c /lib-src | |
parent | b35841cae21453a1be792f81011f78f1db1fee21 (diff) | |
download | emacs-fc45269353cd1b8819a51f4e9509e4a034ea065e.tar.gz |
(main): Don't actually modify argv[0]. Modify a copy instead.
Diffstat (limited to 'lib-src')
-rw-r--r-- | lib-src/emacsclient.c | 11 |
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--; } |