From 092abcdfba2315513cd8277751c5964db3e235b6 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 8 Nov 1995 16:32:40 +0000 Subject: [PATCH] * libbfd.c (bfd_get_file_window): Change return type to boolean. Cast realloc and malloc return values. If malloc or realloc fail, set bfd_error_no_memory. * bfd-in.h (bfd_get_file_window): Change type to boolean. * bfd-in2.h: Rebuild. --- bfd/ChangeLog | 8 ++++++++ bfd/bfd-in.h | 7 ++++--- bfd/bfd-in2.h | 7 ++++--- bfd/libbfd.c | 15 ++++++++++----- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b5666c1c89..ada9f55f44 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +Wed Nov 8 11:31:11 1995 Ian Lance Taylor + + * libbfd.c (bfd_get_file_window): Change return type to boolean. + Cast realloc and malloc return values. If malloc or realloc fail, + set bfd_error_no_memory. + * bfd-in.h (bfd_get_file_window): Change type to boolean. + * bfd-in2.h: Rebuild. + Tue Nov 7 11:53:48 1995 Kim Knuttila * coff-ppc.c (ppc_record_toc_entry): new function. diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h index d69f7636fb..303ce0296e 100644 --- a/bfd/bfd-in.h +++ b/bfd/bfd-in.h @@ -618,9 +618,10 @@ typedef struct _bfd_window { struct _bfd_window_internal *i; } bfd_window; -void bfd_init_window PARAMS ((bfd_window *)); -void bfd_free_window PARAMS ((bfd_window *)); -int bfd_get_file_window PARAMS ((bfd *, file_ptr, bfd_size_type, bfd_window *, int)); +extern void bfd_init_window PARAMS ((bfd_window *)); +extern void bfd_free_window PARAMS ((bfd_window *)); +extern boolean bfd_get_file_window + PARAMS ((bfd *, file_ptr, bfd_size_type, bfd_window *, int)); /* XCOFF support routines for the linker. */ diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 394979d164..54a7c0c48c 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -618,9 +618,10 @@ typedef struct _bfd_window { struct _bfd_window_internal *i; } bfd_window; -void bfd_init_window PARAMS ((bfd_window *)); -void bfd_free_window PARAMS ((bfd_window *)); -int bfd_get_file_window PARAMS ((bfd *, file_ptr, bfd_size_type, bfd_window *, int)); +extern void bfd_init_window PARAMS ((bfd_window *)); +extern void bfd_free_window PARAMS ((bfd_window *)); +extern boolean bfd_get_file_window + PARAMS ((bfd *, file_ptr, bfd_size_type, bfd_window *, int)); /* XCOFF support routines for the linker. */ diff --git a/bfd/libbfd.c b/bfd/libbfd.c index 5f682ecebe..291b1fd731 100644 --- a/bfd/libbfd.c +++ b/bfd/libbfd.c @@ -302,7 +302,7 @@ bfd_free_window (windowp) static int ok_to_map = 1; -int +boolean bfd_get_file_window (abfd, offset, size, windowp, writable) bfd *abfd; file_ptr offset; @@ -412,14 +412,19 @@ bfd_get_file_window (abfd, offset, size, windowp, writable) fprintf (stderr, "\n\t%s(%6ld)", i->data ? "realloc" : " malloc", (long) size_to_alloc); if (i->data) - i->data = realloc (i->data, size_to_alloc); + i->data = (PTR) realloc (i->data, size_to_alloc); else - i->data = malloc (size_to_alloc); + i->data = (PTR) malloc (size_to_alloc); if (debug_windows) fprintf (stderr, "\t-> %p\n", i->data); i->refcount = 1; - if (i->data == 0) - return size_to_alloc == 0; + if (i->data == NULL) + { + if (size_to_alloc == 0) + return true; + bfd_set_error (bfd_error_no_memory); + return false; + } if (bfd_seek (abfd, offset, SEEK_SET) != 0) return false; i->size = bfd_read (i->data, size, 1, abfd);