summaryrefslogtreecommitdiff
path: root/output/outaout.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-07-12 12:11:52 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-07-12 12:15:35 -0700
commitd0fbb7f0ab355fd4e73d1aab215a2aa387b615c3 (patch)
tree636f3b611b9fc5d630c547c9cbd65028f7ae360b /output/outaout.c
parent323fcff32bd5d48a690e14a72c980892924c05ab (diff)
downloadnasm-d0fbb7f0ab355fd4e73d1aab215a2aa387b615c3.tar.gz
nasm-d0fbb7f0ab355fd4e73d1aab215a2aa387b615c3.tar.bz2
nasm-d0fbb7f0ab355fd4e73d1aab215a2aa387b615c3.zip
Don't fclose() the output in the backend
We fopen() the output file in common code but fclose() it in the backend. This is bad for a variety of reasons: 1. it is generally an awkward interface to change ownership. 2. we should use ferror() to test for write errors, and that is better done in common code. 3. it requires more code. 4. we still need to fclose() in common code during error handing. Thus, move the fclose() of the output out of the backends, and add fflush() so we can test ferror() on output. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'output/outaout.c')
-rw-r--r--output/outaout.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/output/outaout.c b/output/outaout.c
index 4d38cdf..8d8966b 100644
--- a/output/outaout.c
+++ b/output/outaout.c
@@ -235,7 +235,6 @@ static void aout_cleanup(int debuginfo)
aout_fixup_relocs(&stext);
aout_fixup_relocs(&sdata);
aout_write();
- fclose(aoutfp);
saa_free(stext.data);
while (stext.head) {
r = stext.head;