* input-file.c (input_file_open): Replace as_perror with as_bad
authorAlan Modra <amodra@gmail.com>
Tue, 12 Sep 2006 23:57:26 +0000 (23:57 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 12 Sep 2006 23:57:26 +0000 (23:57 +0000)
so that gas exits with error on file errors.  Correct error
message.
(input_file_get, input_file_give_next_buffer): Likewise.

gas/ChangeLog
gas/input-file.c
gas/input-file.h

index b69fa8221e9cea4538b0d79a805a787535a63a56..3139cbf5c54066d4cd7aee2bbc70b8dbda96f302 100644 (file)
@@ -1,3 +1,10 @@
+2006-09-13  Alan Modra  <amodra@bigpond.net.au>
+
+       * input-file.c (input_file_open): Replace as_perror with as_bad
+       so that gas exits with error on file errors.  Correct error
+       message.
+       (input_file_get, input_file_give_next_buffer): Likewise.
+
 2006-09-11  Tomas Frydrych  <dr.tomas@yahoo.co.uk>
 
        PR gas/3172
index 6ebd6b9139b504232ce0358b33ea69c2a33baf67..ec36a4269649faa968f43ef5e153a58f2bfa9990 100644 (file)
@@ -140,8 +140,8 @@ input_file_open (char *filename, /* "" means use stdin. Must not be 0.  */
 
   if (f_in == NULL)
     {
-      bfd_set_error (bfd_error_system_call);
-      as_perror (_("Can't open %s for reading"), file_name);
+      as_bad (_("can't open %s for reading: %s"),
+             file_name, xstrerror (errno));
       return;
     }
 
@@ -149,8 +149,8 @@ input_file_open (char *filename, /* "" means use stdin. Must not be 0.  */
 
   if (ferror (f_in))
     {
-      bfd_set_error (bfd_error_system_call);
-      as_perror (_("Can't open %s for reading"), file_name);
+      as_bad (_("can't read from %s: %s"),
+             file_name, xstrerror (errno));
 
       fclose (f_in);
       f_in = NULL;
@@ -212,8 +212,7 @@ input_file_get (char *buf, int buflen)
   size = fread (buf, sizeof (char), buflen, f_in);
   if (size < 0)
     {
-      bfd_set_error (bfd_error_system_call);
-      as_perror (_("Can't read from %s"), file_name);
+      as_bad (_("can't read from %s: %s"), file_name, xstrerror (errno));
       size = 0;
     }
   return size;
@@ -239,8 +238,7 @@ input_file_give_next_buffer (char *where /* Where to place 1st character of new
     size = fread (where, sizeof (char), BUFFER_SIZE, f_in);
   if (size < 0)
     {
-      bfd_set_error (bfd_error_system_call);
-      as_perror (_("Can't read from %s"), file_name);
+      as_bad (_("can't read from %s: %s"), file_name, xstrerror (errno));
       size = 0;
     }
   if (size)
@@ -248,10 +246,8 @@ input_file_give_next_buffer (char *where /* Where to place 1st character of new
   else
     {
       if (fclose (f_in))
-       {
-         bfd_set_error (bfd_error_system_call);
-         as_perror (_("Can't close %s"), file_name);
-       }
+       as_bad (_("can't close %s: %s"), file_name, xstrerror (errno));
+
       f_in = (FILE *) 0;
       return_value = 0;
     }
index bc8289e4e44498d5706401eee59587bb41d0aac9..0628716b6403c9f5acceb07eaa872bf713f4cce4 100644 (file)
@@ -1,5 +1,6 @@
 /* input_file.h header for input-file.c
-   Copyright 1987, 1992, 1993, 2000, 2003 Free Software Foundation, Inc.
+   Copyright 1987, 1992, 1993, 2000, 2003, 2005, 2006
+   Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
@@ -51,8 +52,8 @@
  *
  * input_file_close ()                 Closes opened file.
  *
- * All errors are reported (using as_perror) so caller doesn't have to think
- * about I/O errors. No I/O errors are fatal: an end-of-file may be faked.
+ * All errors are reported so caller doesn't have to think
+ * about I/O errors.
  */
 
 char *input_file_give_next_buffer (char *where);