aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/libf2c/sfe.c
blob: d24af6d936d55e3a2e9546fecda29cfb0bea14cd (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* sequential formatted external common routines*/
#include "f2c.h"
#include "fio.h"
#ifdef __cplusplus
extern "C" {
#endif

#ifdef KR_headers
extern char *f__fmtbuf;
#else
extern const char *f__fmtbuf;
#endif

integer e_rsfe(Void)
{	int n;
	n=en_fio();
	f__fmtbuf=NULL;
	return(n);
}

 int
#ifdef KR_headers
c_sfe(a) cilist *a; /* check */
#else
c_sfe(cilist *a) /* check */
#endif
{	unit *p;
	f__curunit = p = &f__units[a->ciunit];
	if(a->ciunit >= MXUNIT || a->ciunit<0)
		err(a->cierr,101,"startio");
	if(p->ufd==NULL && fk_open(SEQ,FMT,a->ciunit)) err(a->cierr,114,"sfe")
	if(!p->ufmt) err(a->cierr,102,"sfe")
	return(0);
}
integer e_wsfe(Void)
{
	int n = en_fio();
	f__fmtbuf = NULL;
#ifdef ALWAYS_FLUSH
	if (!n && fflush(f__cf))
		err(f__elist->cierr, errno, "write end");
#endif
	return n;
}
#ifdef __cplusplus
}
#endif