From 587588c1fa061de3ca46163a8f01cb1b2cb63a37 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 9 Jul 2010 11:40:19 +0000 Subject: Fix Savannah bug #30312. function.c (abspath): Support absolute file names in UNC format. --- ChangeLog | 3 +++ function.c | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 97cf81d..79ee216 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2010-07-09 Eli Zaretskii + * 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. diff --git a/function.c b/function.c index 45ebc9e..870e4a0 100644 --- a/function.c +++ b/function.c @@ -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 -- cgit v1.2.3