diff options
Diffstat (limited to 'binutils/strings.c')
-rw-r--r-- | binutils/strings.c | 35 |
1 files changed, 11 insertions, 24 deletions
diff --git a/binutils/strings.c b/binutils/strings.c index dc2d8f2..00cfb6d 100644 --- a/binutils/strings.c +++ b/binutils/strings.c @@ -80,21 +80,6 @@ extern int errno; /* The BFD section flags that identify an initialized data section. */ #define DATA_FLAGS (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS) -#ifdef HAVE_FOPEN64 -typedef off64_t file_off; -#define file_open(s,m) fopen64(s, m) -#else -typedef off_t file_off; -#define file_open(s,m) fopen(s, m) -#endif -#ifdef HAVE_STAT64 -typedef struct stat64 statbuf; -#define file_stat(f,s) stat64(f, s) -#else -typedef struct stat statbuf; -#define file_stat(f,s) stat(f, s) -#endif - /* Radix for printing addresses (must be 8, 10 or 16). */ static int address_radix; @@ -145,9 +130,9 @@ typedef struct static void strings_a_section (bfd *, asection *, void *); static bfd_boolean strings_object_file (const char *); static bfd_boolean strings_file (char *file); -static void print_strings (const char *, FILE *, file_off, int, int, char *); +static void print_strings (const char *, FILE *, file_ptr, int, int, char *); static void usage (FILE *, int); -static long get_char (FILE *, file_off *, int *, char **); +static long get_char (FILE *, file_ptr *, int *, char **); int main (int, char **); @@ -414,9 +399,11 @@ strings_object_file (const char *file) static bfd_boolean strings_file (char *file) { - statbuf st; + struct stat st; + + /* get_file_size does not support non-S_ISREG files. */ - if (file_stat (file, &st) < 0) + if (stat (file, &st) < 0) { if (errno == ENOENT) non_fatal (_("'%s': No such file"), file); @@ -434,7 +421,7 @@ strings_file (char *file) { FILE *stream; - stream = file_open (file, FOPEN_RB); + stream = fopen (file, FOPEN_RB); if (stream == NULL) { fprintf (stderr, "%s: ", program_name); @@ -442,7 +429,7 @@ strings_file (char *file) return FALSE; } - print_strings (file, stream, (file_off) 0, 0, 0, (char *) 0); + print_strings (file, stream, (file_ptr) 0, 0, 0, (char *) 0); if (fclose (stream) == EOF) { @@ -466,7 +453,7 @@ strings_file (char *file) MAGICCOUNT is how many characters are in it. */ static long -get_char (FILE *stream, file_off *address, int *magiccount, char **magic) +get_char (FILE *stream, file_ptr *address, int *magiccount, char **magic) { int c, i; long r = EOF; @@ -542,14 +529,14 @@ get_char (FILE *stream, file_off *address, int *magiccount, char **magic) Those characters come at address ADDRESS and the data in STREAM follow. */ static void -print_strings (const char *filename, FILE *stream, file_off address, +print_strings (const char *filename, FILE *stream, file_ptr address, int stop_point, int magiccount, char *magic) { char *buf = (char *) xmalloc (sizeof (char) * (string_min + 1)); while (1) { - file_off start; + file_ptr start; int i; long c; |