summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1992-10-06 22:02:49 +0000
committerRichard M. Stallman <rms@gnu.org>1992-10-06 22:02:49 +0000
commit72b2181785d12fe97e4518bb62c4fe034c49915c (patch)
treea96b9a1e3b24b904ab662ca5bbbd5025ff9f2c08
parenteabf7f96e1f299d10a34c5a4f5bc60332cdf144d (diff)
downloademacs-72b2181785d12fe97e4518bb62c4fe034c49915c.tar.gz
emacs-72b2181785d12fe97e4518bb62c4fe034c49915c.tar.bz2
emacs-72b2181785d12fe97e4518bb62c4fe034c49915c.zip
(directory_file_name): Don't clobber the envvar
when handling top-level rooted dir.
-rw-r--r--src/fileio.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/fileio.c b/src/fileio.c
index e567ed9665e..94261b8218e 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -468,9 +468,11 @@ directory_file_name (src, dst)
&& (ptr[rlen] == ']' || ptr[rlen] == '>')
&& ptr[rlen - 1] == '.')
{
- ptr[rlen - 1] = ']';
- ptr[rlen] = '\0';
- return directory_file_name (ptr, dst);
+ char * buf = (char *) alloca (strlen (ptr) + 1);
+ strcpy (buf, ptr);
+ buf[rlen - 1] = ']';
+ buf[rlen] = '\0';
+ return directory_file_name (buf, dst);
}
else
dst[slen - 1] = ':';