- that ends in a non-newline character. Do not null terminate,
- but leave room for an extra byte after the newline.
- Return LINEBUFFER, except at end of file return 0. */
-
+ that ends in a non-newline character. Do not null terminate.
+ Therefore the stream can contain NUL bytes, and the length
+ (including the newline) is returned in linebuffer->length.
+ Return NULL when stream is empty. Return NULL and set errno upon
+ error; callers can distinguish this case from the empty case by
+ invoking ferror (stream).
+ Otherwise, return LINEBUFFER. */