summaryrefslogtreecommitdiff
path: root/gas/input-file.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2012-06-07 12:47:23 +0000
committerAlan Modra <amodra@bigpond.net.au>2012-06-07 12:47:23 +0000
commit125b1929a85d06c87fcfa6fd44d8ab973ea40083 (patch)
tree97126939e85d55f203ca52399c2f58bc93262970 /gas/input-file.c
parentf55e92d7f8e9302250480cce9172c5c2fed28d00 (diff)
downloadbinutils-redhat-125b1929a85d06c87fcfa6fd44d8ab973ea40083.tar.gz
PR gas/14201
* sb.h (sb_max_power_two): Delete. (struct sb): Delete "item" and "pot". Make "len" a size_t. Add "max". (sb_element): Delete. (sb_add_char, sb_add_buffer, sb_skip_comma, sb_skip_write): Update prototypes. * sb.c (string_count, free_list): Delete. (sb_build, sb_kill, sb_check): Rewrite. (scrub_from_sb, sb_add_char, sb_add_string, sb_add_buffer, sb_skip_white, sb_skip_comma): Replace assorted int params, vars and return types with size_t. * input-scrub.c: Likewise. * macro.c: Likewise. * macro.h: Likewise. * as.c: Likewise. * as.h: Likewise. * input-file.h: Likewise. * input-file.c: Likewise. * read.c: Likewise. * app.c: ..or ptrdiff_t. * input-file.c (input_file_get): Use ferror. (input_file_give_next_buffer): Use input_file_get.
Diffstat (limited to 'gas/input-file.c')
-rw-r--r--gas/input-file.c33
1 files changed, 9 insertions, 24 deletions
diff --git a/gas/input-file.c b/gas/input-file.c
index 709c972c9a..a864e4bdc8 100644
--- a/gas/input-file.c
+++ b/gas/input-file.c
@@ -1,6 +1,6 @@
/* input_file.c - Deal with Input Files -
Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001,
- 2002, 2003, 2005, 2006, 2007, 2009
+ 2002, 2003, 2005, 2006, 2007, 2009, 2012
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -29,8 +29,6 @@
#include "input-file.h"
#include "safe-ctype.h"
-static int input_file_get (char *, int);
-
/* This variable is non-zero if the file currently being read should be
preprocessed by app. It is zero if the file can be read straight in. */
int preprocess = 0;
@@ -71,7 +69,7 @@ input_file_end (void)
}
/* Return BUFFER_SIZE. */
-unsigned int
+size_t
input_file_buffer_size (void)
{
return (BUFFER_SIZE);
@@ -213,20 +211,17 @@ input_file_close (void)
/* This function is passed to do_scrub_chars. */
-static int
-input_file_get (char *buf, int buflen)
+static size_t
+input_file_get (char *buf, size_t buflen)
{
- int size;
+ size_t size;
if (feof (f_in))
return 0;
size = fread (buf, sizeof (char), buflen, f_in);
- if (size < 0)
- {
- as_bad (_("can't read from %s: %s"), file_name, xstrerror (errno));
- size = 0;
- }
+ if (ferror (f_in))
+ as_bad (_("can't read from %s: %s"), file_name, xstrerror (errno));
return size;
}
@@ -236,7 +231,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. */
- int size;
+ size_t size;
if (f_in == (FILE *) 0)
return 0;
@@ -247,18 +242,8 @@ 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
- {
- if (feof (f_in))
- size = 0;
- else
- size = fread (where, sizeof (char), BUFFER_SIZE, f_in);
- }
+ size = input_file_get (where, BUFFER_SIZE);
- if (size < 0)
- {
- as_bad (_("can't read from %s: %s"), file_name, xstrerror (errno));
- size = 0;
- }
if (size)
return_value = where + size;
else