diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 8 | ||||
-rw-r--r-- | bfd/bfd-in.h | 7 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 7 | ||||
-rw-r--r-- | bfd/libbfd.c | 15 |
4 files changed, 26 insertions, 11 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b5666c1..ada9f55 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com> + + * 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 <krk@cygnus.com> * coff-ppc.c (ppc_record_toc_entry): new function. diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h index d69f763..303ce02 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 394979d..54a7c0c 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 5f682ec..291b1fd 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); |