* opncls.c (bfd_fopen): Don't set bfd_error unconditionally.
authorAlan Modra <amodra@gmail.com>
Wed, 8 Jun 2005 03:16:48 +0000 (03:16 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 8 Jun 2005 03:16:48 +0000 (03:16 +0000)
bfd/ChangeLog
bfd/opncls.c

index 23a15efd0b069744ea5d214cc31c7aef119dd6bf..6b8388f6c74cc9847400099a7ade67943ee1b9cb 100644 (file)
@@ -1,3 +1,7 @@
+2005-06-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * opncls.c (bfd_fopen): Don't set bfd_error unconditionally.
+
 2005-06-07  Mark Mitchell  <mark@codesourcery.com>
 
        * opncls.c (bfd_fdopenr): Add missing break statements.
index 74bee5777aea9eea4c5206973a233c1a169bfacd..112401aee54c802fde7f60aaacfc4ee40e19f19b 100644 (file)
@@ -155,8 +155,6 @@ bfd_fopen (const char *filename, const char *target, const char *mode, int fd)
   bfd *nbfd;
   const bfd_target *target_vec;
 
-  bfd_set_error (bfd_error_system_call);
-
   nbfd = _bfd_new_bfd ();
   if (nbfd == NULL)
     return NULL;
@@ -176,6 +174,7 @@ bfd_fopen (const char *filename, const char *target, const char *mode, int fd)
     nbfd->iostream = fopen (filename, mode);
   if (nbfd->iostream == NULL)
     {
+      bfd_set_error (bfd_error_system_call);
       _bfd_delete_bfd (nbfd);
       return NULL;
     }