$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: jurko.gospodnetic_at_[hidden]
Date: 2008-01-31 19:46:51
Author: jurko
Date: 2008-01-31 19:46:50 EST (Thu, 31 Jan 2008)
New Revision: 43045
URL: http://svn.boost.org/trac/boost/changeset/43045
Log:
Corrected outputting native Windows paths so that it works correctly for absolute paths without the drive letter being explicitly specified, e.g. \aaa\bbb or /aaa/bbb.
Text files modified: 
   trunk/tools/build/v2/util/path.jam |    13 ++++++++++++-                           
   1 files changed, 12 insertions(+), 1 deletions(-)
Modified: trunk/tools/build/v2/util/path.jam
==============================================================================
--- trunk/tools/build/v2/util/path.jam	(original)
+++ trunk/tools/build/v2/util/path.jam	2008-01-31 19:46:50 EST (Thu, 31 Jan 2008)
@@ -475,7 +475,15 @@
 
 rule native-NT ( path )
 {
-    local result = [ MATCH "^/?(.*)" : $(path) ] ;
+    local result ;
+    if [ is-rooted $(path) ] && ! [ regex.match "^/(.:)" : $(path) ]
+    {
+        result = $(path) ;
+    }
+    else
+    {
+        result = [ MATCH "^/?(.*)" : $(path) ] ;
+    }
     result = [ sequence.join [ regex.split $(result) "/" ] : "\\" ] ;
     return $(result) ;
 }
@@ -761,11 +769,14 @@
     assert.result "foo/bar/giz" : make "foo\\bar\\giz" ;
     assert.result "foo" : make "foo/." ;
     assert.result "foo" : make "foo/bar/.." ;
+    assert.result "foo/bar" : make "foo/././././bar" ;
+    assert.result "/foo" : make "\\foo" ;
     assert.result "/D:/My Documents" : make "D:\\My Documents" ;
     assert.result "/c:/boost/tools/build/new/project.jam" : make "c:\\boost\\tools\\build\\test\\..\\new\\project.jam" ;
 
     assert.result "foo\\bar\\giz" : native "foo/bar/giz" ;
     assert.result "foo" : native "foo" ;
+    assert.result "\\foo" : native "/foo" ;
     assert.result "D:\\My Documents\\Work" : native "/D:/My Documents/Work" ;
 
     modules.poke path : os : UNIX ;