diff options
Diffstat (limited to 'libf2c/libI77/sfe.c')
-rw-r--r-- | libf2c/libI77/sfe.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/libf2c/libI77/sfe.c b/libf2c/libI77/sfe.c new file mode 100644 index 00000000000..1bb10d9052d --- /dev/null +++ b/libf2c/libI77/sfe.c @@ -0,0 +1,44 @@ +/* sequential formatted external common routines*/ +#include "f2c.h" +#include "fio.h" + +extern char *f__fmtbuf; + +integer e_rsfe(Void) +{ int n; + f__init = 1; + n=en_fio(); + if (f__cf == stdout) + fflush(stdout); + else if (f__cf == stderr) + fflush(stderr); + f__fmtbuf=NULL; + return(n); +} +#ifdef KR_headers +c_sfe(a) cilist *a; /* check */ +#else +c_sfe(cilist *a) /* check */ +#endif +{ 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) +{ +#ifdef ALWAYS_FLUSH + int n; + f__init = 1; + n = en_fio(); + f__fmtbuf=NULL; + if (!n && fflush(f__cf)) + err(f__elist->cierr, errno, "write end"); + return n; +#else + return(e_rsfe()); +#endif +} |