s-fileio.adb (Open): When file open operation fails...
2008-08-06 Thomas Quinot <quinot@adacore.com> * s-fileio.adb (Open): When file open operation fails, raise Name_Error only when the operating system reports a non-existing file or directory (ENOENT), otherwise raise Name_Error. From-SVN: r138786
This commit is contained in:
parent
49f7fe608b
commit
c6aecf3bee
2 changed files with 28 additions and 1 deletions
|
@ -1,3 +1,22 @@
|
|||
2008-08-06 Thomas Quinot <quinot@adacore.com>
|
||||
|
||||
* sem_res.adb: Minor reformatting
|
||||
|
||||
* s-fileio.adb (Open): When file open operation fails, raise Name_Error
|
||||
only when the operating system reports a non-existing file or directory
|
||||
(ENOENT), otherwise raise Name_Error.
|
||||
|
||||
* exp_ch11.adb: Minor reformatting
|
||||
|
||||
2008-08-06 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
|
||||
incomplete, add the access_to_subprogram type to the list of private
|
||||
dependents only if the incomplete type will be completed in the current
|
||||
scope.
|
||||
(Build_Discriminant_Constraints): If the type of the discriminant is
|
||||
access_to_variable, reject a constraint that is access_to_constant.
|
||||
|
||||
2008-08-06 Thomas Quinot <quinot@adacore.com>
|
||||
|
||||
* g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
|
||||
|
|
|
@ -33,10 +33,13 @@
|
|||
|
||||
with Ada.Finalization; use Ada.Finalization;
|
||||
with Ada.IO_Exceptions; use Ada.IO_Exceptions;
|
||||
with Interfaces.C;
|
||||
with Interfaces.C_Streams; use Interfaces.C_Streams;
|
||||
|
||||
with System.CRTL;
|
||||
with System.Case_Util; use System.Case_Util;
|
||||
with System.OS_Constants;
|
||||
with System.OS_Lib;
|
||||
with System.Soft_Links;
|
||||
|
||||
with Ada.Unchecked_Deallocation;
|
||||
|
@ -47,6 +50,7 @@ package body System.File_IO is
|
|||
|
||||
package SSL renames System.Soft_Links;
|
||||
|
||||
use type Interfaces.C.int;
|
||||
use type System.CRTL.size_t;
|
||||
|
||||
----------------------
|
||||
|
@ -984,7 +988,11 @@ package body System.File_IO is
|
|||
Stream := fopen (Namestr'Address, Fopstr'Address, Encoding);
|
||||
|
||||
if Stream = NULL_Stream then
|
||||
if not Tempfile and then file_exists (Namestr'Address) = 0 then
|
||||
-- Raise Name_Error if trying to open a non-existent file.
|
||||
-- Otherwise raise Use_Error. Should we raise Device_Error for
|
||||
-- ENOSPC???
|
||||
|
||||
if System.OS_Lib.Errno = System.OS_Constants.ENOENT then
|
||||
raise Name_Error;
|
||||
else
|
||||
raise Use_Error;
|
||||
|
|
Loading…
Add table
Reference in a new issue