aboutsummaryrefslogtreecommitdiff
path: root/unix/boot/bootlib/osclose.c
blob: f9be512c57ceb830373e4b845e6c62389d0db2d5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
 */

#include <unistd.h>		/* for close()	*/
#include "bootlib.h"


/* OS_CLOSE -- Close a file created (opened) by OSCREATE.  If writing to a
 * text file flush any incomplete (non newline terminated) output line.
 */
void
os_close (int fd)
{
	XINT	junk, xfd=fd;
	XINT	nchars;

	extern  int ZPUTTX(), ZCLSTX();


	if (osfiletype == BINARY_FILE)
	    close (fd);
	else {
	    if (txop > text) {
		nchars = txop - text;
		ZPUTTX (&xfd, text, &nchars, &junk);
	    }
	    ZCLSTX (&xfd, &junk);
	}
}