* 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.
This commit is contained in:
Alan Modra 2006-09-12 23:57:26 +00:00
parent 41198d0cfa
commit f79d9c1df7
3 changed files with 19 additions and 15 deletions

View 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

View 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;
}

View 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);