Annotation of researchv10dc/man/manx/getflds.3, revision 1.1

1.1     ! root        1: .TH GETFLDS 3S
        !             2: .SH NAME
        !             3: getflds \(mi read a line from a file and break it into fields
        !             4: .SH SYNOPSIS
        !             5: .nf
        !             6: .B #include <stdio.h>
        !             7: .PP
        !             8: .B char **getflds(stream)
        !             9: .B FILE *stream;
        !            10: .fi
        !            11: .SH DESCRIPTION
        !            12: .I Getflds
        !            13: reads a line from the
        !            14: .I stream
        !            15: given as argument, breaks it into fields,
        !            16: and returns a pointer to a null-terminated array of
        !            17: character pointers, each of which points
        !            18: to a null-terminated string representing one field.
        !            19: These strings, and the array that points to them,
        !            20: persist until the next call to
        !            21: .IR getflds .
        !            22: On end of file, a null pointer is returned.
        !            23: .PP
        !            24: If the first character of a line is a
        !            25: .LR # ,
        !            26: that line is considered to be a comment and ignored.
        !            27: .PP
        !            28: Fields are separated by white space (spaces or tabs).
        !            29: Leading and trailing white space on a line is ignored.
        !            30: White space may appear inside a field in one of three
        !            31: ways: each space or tab may be preceded by a backslash,
        !            32: the white space may be enclosed in single or
        !            33: double quotes, or characters may described
        !            34: in octal, as detailed below.
        !            35: .PP
        !            36: A field, or any parts of a field, may be enclosed in single
        !            37: or double quotes.
        !            38: Within quotes, white space and
        !            39: quotes of the other sort are treated as
        !            40: ordinary characters, but a closing quote
        !            41: is silently inserted before a newline.
        !            42: .PP
        !            43: Inside or outside quotes, a backslash
        !            44: and the character(s) after it are changed as follows:
        !            45: .nf
        !            46: .ta 10n
        !            47: \fL\eb\fR      backspace
        !            48: \fL\ef\fR      form feed
        !            49: \fL\en\fR      newline
        !            50: \fL\er\fR      return
        !            51: \fL\et\fR      horizontal tab
        !            52: \fL\ev\fR      vertical tab
        !            53: \fL\e\e\fR     \e
        !            54: \fL\e\'\fR     \'
        !            55: \fL\e"\fR      "
        !            56: \fL\e#\fR      #
        !            57: \fL\e\fIspace\fR       space
        !            58: \fL\e\fItab\fR tab
        !            59: \fL\e\fInewline\fR     completely ignored; this allows a logical line to span any number of physical lines.
        !            60: \fL\e\fIdigits\fR      the one, two, or three octal digits are the value of the character to be used.
        !            61: .fi
        !            62: .PP
        !            63: If any other character follows the
        !            64: .LR \e ,
        !            65: both
        !            66: characters lose their special interpretation.
        !            67: .SH DIAGNOSTICS
        !            68: If
        !            69: .I getflds
        !            70: detects an error, it returns
        !            71: .LR 0 ,
        !            72: just as it does at end of file.
        !            73: However, the error will have changed
        !            74: .I errno
        !            75: (see
        !            76: .IR intro (2)).
        !            77: To distinguish between error and
        !            78: end of file set
        !            79: .I errno
        !            80: to zero before calling
        !            81: .I getflds
        !            82: and test it afterwards.
        !            83: .SH BUGS
        !            84: .I Getflds
        !            85: provides no way to distinguish a null character
        !            86: within a field from the end of the field.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.