* input-file.c (input_file_open): Check for empty input files.
(input_file_get): Check for end of file before reading any more data. (input_file_give_next_buffer): Likewise.
This commit is contained in:
parent
79520e0d2d
commit
47e8018d71
@ -1,3 +1,10 @@
|
||||
2010-11-17 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* input-file.c (input_file_open): Check for empty input files.
|
||||
(input_file_get): Check for end of file before reading any more
|
||||
data.
|
||||
(input_file_give_next_buffer): Likewise.
|
||||
|
||||
2010-11-15 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/obj-elf.c (elf_process_stab): Mark parameters as
|
||||
|
@ -157,6 +157,15 @@ input_file_open (char *filename, /* "" means use stdin. Must not be 0. */
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check for an empty input file. */
|
||||
if (feof (f_in))
|
||||
{
|
||||
fclose (f_in);
|
||||
f_in = NULL;
|
||||
return;
|
||||
}
|
||||
gas_assert (c != EOF);
|
||||
|
||||
if (c == '#')
|
||||
{
|
||||
/* Begins with comment, may not want to preprocess. */
|
||||
@ -209,6 +218,9 @@ input_file_get (char *buf, int buflen)
|
||||
{
|
||||
int size;
|
||||
|
||||
if (feof (f_in))
|
||||
return 0;
|
||||
|
||||
size = fread (buf, sizeof (char), buflen, f_in);
|
||||
if (size < 0)
|
||||
{
|
||||
@ -224,7 +236,7 @@ char *
|
||||
input_file_give_next_buffer (char *where /* Where to place 1st character of new buffer. */)
|
||||
{
|
||||
char *return_value; /* -> Last char of what we read, + 1. */
|
||||
register int size;
|
||||
int size;
|
||||
|
||||
if (f_in == (FILE *) 0)
|
||||
return 0;
|
||||
@ -235,7 +247,13 @@ input_file_give_next_buffer (char *where /* Where to place 1st character of new
|
||||
if (preprocess)
|
||||
size = do_scrub_chars (input_file_get, where, BUFFER_SIZE);
|
||||
else
|
||||
size = fread (where, sizeof (char), BUFFER_SIZE, f_in);
|
||||
{
|
||||
if (feof (f_in))
|
||||
size = 0;
|
||||
else
|
||||
size = fread (where, sizeof (char), BUFFER_SIZE, f_in);
|
||||
}
|
||||
|
||||
if (size < 0)
|
||||
{
|
||||
as_bad (_("can't read from %s: %s"), file_name, xstrerror (errno));
|
||||
|
Loading…
Reference in New Issue
Block a user