mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
(main): Don't actually modify argv[0]. Modify a copy instead.
This commit is contained in:
parent
980ab937d9
commit
cd33a5a086
1 changed files with 6 additions and 5 deletions
|
|
@ -251,19 +251,20 @@ main (argc, argv)
|
||||||
while (argc)
|
while (argc)
|
||||||
{
|
{
|
||||||
int need_cwd = 0;
|
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++;
|
while (*p >= '0' && *p <= '9') p++;
|
||||||
if (*p != 0)
|
if (*p != 0)
|
||||||
need_cwd = 1;
|
need_cwd = 1;
|
||||||
}
|
}
|
||||||
else if (*argv[0] != '/')
|
else if (*modified_arg != '/')
|
||||||
need_cwd = 1;
|
need_cwd = 1;
|
||||||
|
|
||||||
if (need_cwd)
|
if (need_cwd)
|
||||||
used += strlen (cwd);
|
used += strlen (cwd);
|
||||||
used += strlen (argv[0]) + 1;
|
used += strlen (modified_arg) + 1;
|
||||||
while (used + 2 > size_allocated)
|
while (used + 2 > size_allocated)
|
||||||
{
|
{
|
||||||
size_allocated *= 2;
|
size_allocated *= 2;
|
||||||
|
|
@ -275,7 +276,7 @@ main (argc, argv)
|
||||||
if (need_cwd)
|
if (need_cwd)
|
||||||
strcat (msgp->mtext, cwd);
|
strcat (msgp->mtext, cwd);
|
||||||
|
|
||||||
strcat (msgp->mtext, argv[0]);
|
strcat (msgp->mtext, modified_arg);
|
||||||
strcat (msgp->mtext, " ");
|
strcat (msgp->mtext, " ");
|
||||||
argv++; argc--;
|
argv++; argc--;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue