extern int linechar
, errflag
, debug
;
extern int (*input
)(), (*unput
)();
uptolow(c
) /*translates upper to lower case */
if ('A' <= c
&& c
<= 'Z')
while ( (c
= (*input
)()) != '\n')
while ( (c
=(*input
)()) != '\n')
labfree(func
) /* labels in freeform input */
while ( (c
= (*input
)()) == ' ' || c
== '\t' );
error("label without code - ignored:","","");
labstand(func
) /* labels in standard form input */
error("line shorter than 5 characters","","");
if (c
== '\t' || c
== '\n')
(*input
)(); /* throw away continuation char */
contfree() /* identify continuation lines in free-form input */
return(nonblchar(_diglet
,0)); /* any non-alpha non-digit */
for (j
=0; (temp
[j
]=(*input
)()) == ' ' || temp
[j
] == '\t'; ++j
)
error ("line unexpectedly long","","");
if (temp
[j
]!=EOF
&& classmatch(temp
[j
],class)==yesno
)
contstand() /* continuation lines in standard form input */
if (temp
[i
] == '\t' || temp
[i
] == '\n' || temp
[i
] == '\0' || temp
[i
] == EOF
)
if (temp
[5] != '0' && temp
[5] != ' ')
for ( i
= 5 ; i
>= 0; --i
)
comstand(posafter
) /* standard form comments */
if (c
== 'c' || c
== '*' || c
== '#')
return(comstand(posafter
));
int (*rline
[])() = {rdfree
,rdstand
};
int (*comment
[])() = {comfree
,comstand
};
int (*getlabel
[])() = {labfree
, labstand
};
int (*chkcont
[])() = {contfree
,contstand
};
if ( nonblchar(_nl
,1) ) /* first non-blank is nl */
if (fseek(infd
,(long)(linebeg
+rtnbeg
),0) == -1)
faterr("in disk seek","","");
return( uptolow(getc(infd
)) );
faterr("dec.rat: unbuf size exceeded","","");
if(c
!=EOF
)unbuf
[unbp
++] = c
;