Fix Savannah bug #30312.

function.c (abspath): Support absolute file names in UNC format.
This commit is contained in:
Eli Zaretskii 2010-07-09 11:40:19 +00:00
parent 94bda718c4
commit 587588c1fa
2 changed files with 10 additions and 0 deletions

View file

@ -1,5 +1,8 @@
2010-07-09 Eli Zaretskii <eliz@gnu.org>
* function.c (abspath): Support absolute file names in UNC format.
(Savannah bug #30312.)
* job.c (pid2str) [WINDOWS32]: Don't use %Id with GCC < 4.x.
(exec_command) [WINDOWS32]: Use pid2str instead of non-portable
%Id.

View file

@ -1912,6 +1912,13 @@ abspath (const char *name, char *apath)
#ifdef HAVE_DOS_PATHS
if (IS_PATHSEP(name[0]))
{
if (IS_PATHSEP(name[1]))
{
/* A UNC. Don't prepend a drive letter. */
apath[0] = name[0];
apath[1] = name[1];
root_len = 2;
}
/* We have /foo, an absolute file name except for the drive
letter. Assume the missing drive letter is the current
drive, which we can get if we remove from starting_directory