.help zgettx May84 "System Interface" .ih NAME zgettx -- get next line from a text file .ih SYNOPSIS .nf zgettx (chan, text, maxch, status) int chan # OS channel of file char text[maxch] # output record buffer int maxch # capacity of buffer int status .fi .ih DESCRIPTION At most \fImaxch\fR chars are read from the next line of the text file connected to channel \fIchan\fR into the buffer \fItext\fR. A line of text is a sequence of zero or more characters terminated by the \fBnewline\fR character (normally linefeed). If \fImaxch\fR is less than the length of the line the next read will return the remainder of the line or \fImaxch\fR characters, whichever is smaller. The newline character counts as one character and is returned as the final character in \fItext\fR when end of line is reached. The \fBzgettx\fR primitive always returns ASCII character data unpacked into the SPP char array \fItext\fR. The \fItext\fR array is not EOS delimited. .ih RETURN VALUE ERR is returned for a read error or for an illegal call. If the read is successful the number of characters read (including the newline) is returned in \fIstatus\fR. When EOF is reached successive reads will return nothing, i.e., the number of characters read will be zero. .ih NOTES There is no fixed upper limit on the length of a line. In normal usage FIO calls \fBzputtx\fR to write out the internal FIO fixed size line buffer whenever it sees a newline in the output. If an applications program writes a very long line, the line buffer in FIO will overflow and \fBzputtx\fR will be called to write out the contents of the buffer without a newline terminator. FIO will also write out a partial line when the output is explicitly flushed. On input FIO uses the same fixed size line buffer, and several calls to \fBzgettx\fR may be required to read a full line. If the host system does not use the ASCII character set \fBzgettx\fR will convert characters to ASCII upon input. The full ASCII character set is permitted, i.e., control characters may be embedded in the text. .ih BUGS Individual IRAF and host system utilities may place their own limits on the maximum length of a line of text. The lower bound on the size of a line of text in IRAF programs is globally defined by the parameter SZ_LINE in \fBiraf.h\fR and may easily be adjusted by the system installer. A sysgen of the entire system is required as SZ_LINE is used everywhere. .ih SEE ALSO zfiotx, zputtx .endhelp