- Remove any newline. Does not null terminate.
- Return zero upon error or upon end of file.
- Otherwise, return LINEBUFFER. */
+ Keep the newline; append a newline if it's the last line of a file
+ 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. */