aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/a-dirval-mingw.adb12
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index fda97b1..13829bd 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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.
diff --git a/gcc/ada/a-dirval-mingw.adb b/gcc/ada/a-dirval-mingw.adb
index a20ff17..93dcae1 100644
--- a/gcc/ada/a-dirval-mingw.adb
+++ b/gcc/ada/a-dirval-mingw.adb
@@ -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;