*
* .............xxxxxxxxxxxxxxxx.........................
* ^ ^
- * tail head
+ * ^start tail head ^end
*
* xxxxxxxxxxxxx................xxxxxxxxxxxxxxxxxxxxxxxxx
* ^ ^
* @mb: membuff to adjust
* @str: Place to put the line
* @maxlen: Maximum line length (excluding terminator)
+ * @minch: Minimum ASCII character to permit as part of the line (e.g. ' ')
* @must_fit: If true then str is empty if line doesn't fit
* Return: number of bytes read (including terminator) if a line has been
* read, 0 if nothing was there or line didn't fit when must_fit is set
*/
-int membuf_readline(struct membuf *mb, char *str, int maxlen, int minch, bool must_fit);
+int membuf_readline(struct membuf *mb, char *str, int maxlen, int minch,
+ bool must_fit);
/**
* membuf_extend_by() - expand a membuff
(mb->end - mb->start) - 1 - membuf_avail(mb);
}
-int membuf_readline(struct membuf *mb, char *str, int maxlen, int minch, bool must_fit)
+int membuf_readline(struct membuf *mb, char *str, int maxlen, int minch,
+ bool must_fit)
{
int len; /* number of bytes read (!= string length) */
char *s, *end;