gcc/libf2c/libI77/iio.c
Kaveh R. Ghazi 9bb2ada61f g2c.hin, [...]: Kill VOID, Void and Int.
* g2c.hin, libF77/d_cnjg.c, libF77/main.c, libF77/r_cnjg.c,
	libF77/s_cat.c, libF77/s_paus.c, libF77/s_rnge.c, libF77/setarg.c,
	libF77/setsig.c, libF77/signal1.h0, libI77/dfe.c, libI77/due.c,
	libI77/err.c, libI77/fio.h, libI77/fmt.c, libI77/iio.c,
	libI77/ilnw.c, libI77/lread.c, libI77/lwrite.c, libI77/rsfe.c,
	libI77/rsli.c, libI77/rsne.c, libI77/sfe.c, libI77/sue.c,
	libI77/util.c, libI77/wrtfmt.c, libI77/wsfe.c, libI77/wsle.c,
	libI77/xwsne.c, libU77/date_.c: Kill VOID, Void and Int.

From-SVN: r54134
2002-06-01 01:58:10 +00:00

139 lines
2.4 KiB
C

#include "f2c.h"
#include "fio.h"
#include "fmt.h"
extern char *f__icptr;
char *f__icend;
extern icilist *f__svic;
int f__icnum;
extern int f__hiwater;
z_getc(void)
{
if(f__recpos++ < f__svic->icirlen) {
if(f__icptr >= f__icend) err(f__svic->iciend,(EOF),"endfile");
return(*(unsigned char *)f__icptr++);
}
return '\n';
}
void
z_putc(int c)
{
if (f__icptr < f__icend && f__recpos++ < f__svic->icirlen)
*f__icptr++ = c;
}
z_rnew(void)
{
f__icptr = f__svic->iciunit + (++f__icnum)*f__svic->icirlen;
f__recpos = 0;
f__cursor = 0;
f__hiwater = 0;
return 1;
}
static int
z_endp(void)
{
(*f__donewrec)();
return 0;
}
c_si(icilist *a)
{
if (f__init & 2)
f__fatal (131, "I/O recursion");
f__init |= 2;
f__elist = (cilist *)a;
f__fmtbuf=a->icifmt;
f__curunit = 0;
f__sequential=f__formatted=1;
f__external=0;
if(pars_f(f__fmtbuf)<0)
err(a->icierr,100,"startint");
fmt_bg();
f__cblank=f__cplus=f__scale=0;
f__svic=a;
f__icnum=f__recpos=0;
f__cursor = 0;
f__hiwater = 0;
f__icptr = a->iciunit;
f__icend = f__icptr + a->icirlen*a->icirnum;
f__cf = 0;
return(0);
}
int
iw_rev(void)
{
if(f__workdone)
z_endp();
f__hiwater = f__recpos = f__cursor = 0;
return(f__workdone=0);
}
integer s_rsfi(icilist *a)
{ int n;
if(n=c_si(a)) return(n);
f__reading=1;
f__doed=rd_ed;
f__doned=rd_ned;
f__getn=z_getc;
f__dorevert = z_endp;
f__donewrec = z_rnew;
f__doend = z_endp;
return(0);
}
z_wnew(void)
{
if (f__recpos < f__hiwater) {
f__icptr += f__hiwater - f__recpos;
f__recpos = f__hiwater;
}
while(f__recpos++ < f__svic->icirlen)
*f__icptr++ = ' ';
f__recpos = 0;
f__cursor = 0;
f__hiwater = 0;
f__icnum++;
return 1;
}
integer s_wsfi(icilist *a)
{ int n;
if(n=c_si(a)) return(n);
f__reading=0;
f__doed=w_ed;
f__doned=w_ned;
f__putn=z_putc;
f__dorevert = iw_rev;
f__donewrec = z_wnew;
f__doend = z_endp;
return(0);
}
integer e_rsfi(void)
{ int n;
f__init &= ~2;
n = en_fio();
f__fmtbuf = NULL;
return(n);
}
integer e_wsfi(void)
{
int n;
f__init &= ~2;
n = en_fio();
f__fmtbuf = NULL;
if(f__svic->icirnum != 1
&& (f__icnum > f__svic->icirnum
|| (f__icnum == f__svic->icirnum && (f__recpos | f__hiwater))))
err(f__svic->icierr,110,"inwrite");
if (f__recpos < f__hiwater)
f__recpos = f__hiwater;
if (f__recpos >= f__svic->icirlen)
err(f__svic->icierr,110,"recend");
if (!f__recpos && f__icnum)
return n;
while(f__recpos++ < f__svic->icirlen)
*f__icptr++ = ' ';
return n;
}