s-fileio.adb: Name_Error shouldn't be raised for a tempory file.
authorTristan Gingold <gingold@adacore.com>
Tue, 8 Apr 2008 06:45:53 +0000 (08:45 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 8 Apr 2008 06:45:53 +0000 (08:45 +0200)
2008-04-08  Tristan Gingold  <gingold@adacore.com>

* s-fileio.adb: Name_Error shouldn't be raised for a tempory file.

From-SVN: r134012

gcc/ada/s-fileio.adb

index 7a490cdc15cac5a467f79cfede41c73d1bb7f190..f34e68ab69609f0bc52119a2cab57442acc9b465 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
@@ -823,7 +823,7 @@ package body System.File_IO is
       if Stream /= NULL_Stream then
          Full_Name_Len := Name'Length + 1;
          Fullname (1 .. Full_Name_Len - 1) := Name;
-         Fullname (Full_Name_Len) := ASCII.Nul;
+         Fullname (Full_Name_Len) := ASCII.NUL;
 
       --  Normal case of Open or Create
 
@@ -982,7 +982,7 @@ package body System.File_IO is
             Stream := fopen (Namestr'Address, Fopstr'Address, Encoding);
 
             if Stream = NULL_Stream then
-               if file_exists (Namestr'Address) = 0 then
+               if not Tempfile and then file_exists (Namestr'Address) = 0 then
                   raise Name_Error;
                else
                   raise Use_Error;