Current_Directory incorrectly returned the path of the form "X:"
instead of "X:\"

Manually tested on i686-pc-mingw32.
Tested on x86_64-pc-linux-gnu, committed on trunk

2012-03-09  Vasiliy Fofanov  <fofa...@adacore.com>

        * a-direct.adb: Do not strip the trailing directory separator
        from path, as this is already done inside Normalize_Pathname;
        doing it again produces the wrong result on Windows for the
        drive's root dir (i.e. "X:\" becomes "X:").

Index: a-direct.adb
===================================================================
--- a-direct.adb        (revision 185136)
+++ a-direct.adb        (working copy)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -514,18 +514,10 @@
    begin
       Local_Get_Current_Dir (Buffer'Address, Path_Len'Address);
 
-      declare
-         --  We need to resolve links because of A.16(47), since we must not
-         --  return alternative names for files
-         Cur : constant String := Normalize_Pathname (Buffer (1 .. Path_Len));
+      --  We need to resolve links because of A.16(47), since we must not
+      --  return alternative names for files
+      return Normalize_Pathname (Buffer (1 .. Path_Len));
 
-      begin
-         if Cur'Length > 1 and then Cur (Cur'Last) = Dir_Separator then
-            return Cur (1 .. Cur'Last - 1);
-         else
-            return Cur;
-         end if;
-      end;
    end Current_Directory;
 
    ----------------------

Reply via email to