2004-10-04 Vincent Celier <celier@gnat.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Oct 2004 14:55:32 +0000 (14:55 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Oct 2004 14:55:32 +0000 (14:55 +0000)
* a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
in file name.
(Is_Valid_Path_Name): Take '/' as a directory separator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88492 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/a-dirval-mingw.adb

index fda97b1..13829bd 100644 (file)
@@ -1,5 +1,11 @@
 2004-10-04  Vincent Celier  <celier@gnat.com>
 
+       * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
+       in file name.
+       (Is_Valid_Path_Name): Take '/' as a directory separator.
+
+2004-10-04  Vincent Celier  <celier@gnat.com>
+
        * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
        (Extended_Project) only if Extended_Project is defined, to avoid
        assertion error.
index a20ff17..93dcae1 100644 (file)
@@ -39,7 +39,7 @@ with Ada.Characters.Latin_1; use Ada.Characters.Latin_1;
 package body Ada.Directories.Validity is
 
    Invalid_Character : constant array (Character) of Boolean :=
-                         (NUL .. US             => True,
+                         (NUL .. US | '\'       => True,
                           '/' | ':' | '*' | '?' => True,
                           '"' | '<' | '>' | '|' => True,
                           DEL .. NBSP           => True,
@@ -76,7 +76,9 @@ package body Ada.Directories.Validity is
          loop
             --  Look for the start of the next directory or file name
 
-            while Start <= Name'Last and then Name (Start) = '\' loop
+            while Start <= Name'Last and then
+              (Name (Start) = '\' or Name (Start) = '/')
+            loop
                Start := Start + 1;
             end loop;
 
@@ -89,7 +91,7 @@ package body Ada.Directories.Validity is
             --  Look for the end of the directory/file name
 
             while Last < Name'Last loop
-               exit when Name (Last + 1) = '\';
+               exit when Name (Last + 1) = '\' or Name (Last + 1) = '/';
                Last := Last + 1;
             end loop;
 
@@ -119,7 +121,7 @@ package body Ada.Directories.Validity is
 
    begin
       --  A file name cannot be empty, cannot contain more than 256 characters,
-      --  and cannot contain invalid characters, including '\'
+      --  and cannot contain invalid characters.
 
       if Name'Length = 0 or else Name'Length > 256 then
          return False;
@@ -129,7 +131,7 @@ package body Ada.Directories.Validity is
       else
          Only_Spaces := True;
          for J in Name'Range loop
-            if Invalid_Character (Name (J)) or else Name (J) = '\' then
+            if Invalid_Character (Name (J)) then
                return False;
             elsif Name (J) /= ' ' then
                Only_Spaces := False;