aboutsummaryrefslogtreecommitdiff
path: root/gas/input-file.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2012-06-07 12:47:23 +0000
committerAlan Modra <amodra@gmail.com>2012-06-07 12:47:23 +0000
commit39a45edc073226e748566b497c216830cec119c4 (patch)
treebd35d385584a6fcaca5e6a40a9933b33cafe1b2d /gas/input-file.c
parentfb1b895daad773efd7dc023f913678e9c80d8c3a (diff)
downloadgdb-39a45edc073226e748566b497c216830cec119c4.zip
gdb-39a45edc073226e748566b497c216830cec119c4.tar.gz
gdb-39a45edc073226e748566b497c216830cec119c4.tar.bz2
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 709c972..a864e4b 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