The readfile function reads filename and copies it to stdout. No translation of NEWLINE is done. It keeps track of the longest line it reads and if there is a subsequent call to longline, the length of that line, including the NEWLINE character, is returned.
The longline function returns the length, including the NEWLINE character, of the longest line in filename. If filename is not specified, it uses the file named in the last call to readfile.
Example 1: Typical use of readfile and longline
Here is a typical use of readfile and longline in a text frame definition file:
. . . text="`readfile myfile`" columns=`longline` . . .
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
If filename does not exist, readfile will return FALSE (that is, the expression will have an error return).
longline returns 0 if a readfile has not previously been issued.
More than one descriptor can call readfile in the same frame definition file. In text frames, if one of those calls is made from the text descriptor, then a subsequent use of longline will always get the longest line of the file read by the readfile associated with the text descriptor, even if it was not the most recent use of readfile.