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.
package body Ada.Directories.Validity is
Invalid_Character : constant array (Character) of Boolean :=
- (NUL .. US => True,
+ (NUL .. US | '\' => True,
'/' | ':' | '*' | '?' => True,
'"' | '<' | '>' | '|' => True,
DEL .. NBSP => True,
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;
-- 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;
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;
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;