From 6bd2c2c435217d4de9b7b64ce419fb6a2caa9dd5 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Thu, 9 Jun 2005 07:39:08 +0000 Subject: * bfd/opncls.c (bfd_fopen): Mark returned BFD as cacheable if FD == -1. --- ChangeLog.csl | 4 ++++ bfd/opncls.c | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog.csl b/ChangeLog.csl index 0166a32..e1315c1 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,5 +1,9 @@ 2005-06-08 Mark Mitchell + * bfd/opncls.c (bfd_fopen): Mark returned BFD as cacheable if FD == -1. + +2005-06-08 Mark Mitchell + Revert: 2005-03-28 Mark Mitchell * readline/display.c (insert_some_chars): Likewise. diff --git a/bfd/opncls.c b/bfd/opncls.c index 4a87062..8249398 100644 --- a/bfd/opncls.c +++ b/bfd/opncls.c @@ -144,6 +144,8 @@ DESCRIPTION Calls <>, so @var{target} is interpreted as by that function. + The new BFD is marked as cacheable iff @var{fd} is -1. + If <> is returned then an error has occured. Possible errors are <>, <> or <> error. @@ -198,6 +200,12 @@ bfd_fopen (const char *filename, const char *target, const char *mode, int fd) return NULL; } nbfd->opened_once = TRUE; + /* If we opened the file by name, mark it cacheable; we can close it + and reopen it later. However, if a file descriptor was provided, + then it may have been opened with special flags that make it + unsafe to close and reopen the file. */ + if (fd == -1) + bfd_set_cacheable (nbfd, TRUE); return nbfd; } -- cgit v1.1