summaryrefslogtreecommitdiff
path: root/bfd/cache.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-05-05 15:39:11 +0000
committerNick Clifton <nickc@redhat.com>2004-05-05 15:39:11 +0000
commita6b1cec7e9ef60cbd49eefc623010418180ba7ce (patch)
tree495c1c59efcf4c52d0803504c9e29b386f9c497f /bfd/cache.c
parentca1402728027f267b0dc540bcf423791bc640f88 (diff)
downloadbinutils-redhat-a6b1cec7e9ef60cbd49eefc623010418180ba7ce.tar.gz
PR/136 - Have bfd_cache_lookup_worker() abort rather than return an
(unchecked-for) NULL.
Diffstat (limited to 'bfd/cache.c')
-rw-r--r--bfd/cache.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/bfd/cache.c b/bfd/cache.c
index 0586061286..58eda916bb 100644
--- a/bfd/cache.c
+++ b/bfd/cache.c
@@ -189,9 +189,9 @@ bfd *bfd_last_cache;
otherwise, it has to perform the complicated lookup function.
.#define bfd_cache_lookup(x) \
- . ((x)==bfd_last_cache? \
- . (FILE*) (bfd_last_cache->iostream): \
- . bfd_cache_lookup_worker(x))
+ . ((x) == bfd_last_cache ? \
+ . (FILE *) (bfd_last_cache->iostream): \
+ . bfd_cache_lookup_worker (x))
*/
@@ -438,7 +438,8 @@ DESCRIPTION
quick answer. Find a file descriptor for @var{abfd}. If
necessary, it open it. If there are already more than
<<BFD_CACHE_MAX_OPEN>> files open, it tries to close one first, to
- avoid running out of file descriptors.
+ avoid running out of file descriptors. It will abort rather than
+ returning NULL if it is unable to (re)open the @var{abfd}.
*/
FILE *
@@ -461,12 +462,10 @@ bfd_cache_lookup_worker (bfd *abfd)
}
else
{
- if (bfd_open_file (abfd) == NULL)
- return NULL;
- if (abfd->where != (unsigned long) abfd->where)
- return NULL;
- if (real_fseek ((FILE *) abfd->iostream, abfd->where, SEEK_SET) != 0)
- return NULL;
+ if (bfd_open_file (abfd) == NULL
+ || abfd->where != (unsigned long) abfd->where
+ || real_fseek ((FILE *) abfd->iostream, abfd->where, SEEK_SET) != 0)
+ abort ();
}
return (FILE *) abfd->iostream;