aboutsummaryrefslogtreecommitdiff
path: root/libf2c/libI77/sfe.c
blob: 8f05e4806620571ecc643d73f8654f93e3b7e3b5 (plain)
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
/* sequential formatted external common routines*/
#include "config.h"
#include "f2c.h"
#include "fio.h"

extern char *f__fmtbuf;

integer
e_rsfe (void)
{
  int n;
  f__init = 1;
  n = en_fio ();
  f__fmtbuf = NULL;
  return (n);
}

int
c_sfe (cilist * a)		/* check */
{
  unit *p;
  if (a->ciunit >= MXUNIT || a->ciunit < 0)
    err (a->cierr, 101, "startio");
  p = &f__units[a->ciunit];
  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;
  f__init = 1;
  n = en_fio ();
  f__fmtbuf = NULL;
#ifdef ALWAYS_FLUSH
  if (!n && fflush (f__cf))
    err (f__elist->cierr, errno, "write end");
#endif
  return n;
}