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> 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. * job.c (pid2str) [WINDOWS32]: Don't use %Id with GCC < 4.x.
(exec_command) [WINDOWS32]: Use pid2str instead of non-portable (exec_command) [WINDOWS32]: Use pid2str instead of non-portable
%Id. %Id.

View File

@ -1912,6 +1912,13 @@ abspath (const char *name, char *apath)
#ifdef HAVE_DOS_PATHS #ifdef HAVE_DOS_PATHS
if (IS_PATHSEP(name[0])) 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 /* We have /foo, an absolute file name except for the drive
letter. Assume the missing drive letter is the current letter. Assume the missing drive letter is the current
drive, which we can get if we remove from starting_directory drive, which we can get if we remove from starting_directory