On Mon, Dec 4, 2017 at 3:58 PM, Brandon Williams <bmwill@xxxxxxxxxx> wrote: > diff --git a/pkt-line.h b/pkt-line.h > index 3dad583e2..f1545929b 100644 > --- a/pkt-line.h > +++ b/pkt-line.h > @@ -60,8 +60,16 @@ int write_packetized_from_buf(const char *src_in, size_t len, int fd_out); > * If options contains PACKET_READ_CHOMP_NEWLINE, a trailing newline (if > * present) is removed from the buffer before returning. > */ > +enum packet_read_status { > + PACKET_READ_ERROR = -1, > + PACKET_READ_NORMAL, > + PACKET_READ_FLUSH, > +}; > #define PACKET_READ_GENTLE_ON_EOF (1u<<0) > #define PACKET_READ_CHOMP_NEWLINE (1u<<1) > +enum packet_read_status packet_read_with_status(int fd, char **src_buffer, size_t *src_len, > + char *buffer, unsigned size, int *pktlen, > + int options); > int packet_read(int fd, char **src_buffer, size_t *src_len, char > *buffer, unsigned size, int options); The documentation that is preceding these lines is very specific to packet_read, e.g. If options does contain PACKET_READ_GENTLE_ON_EOF, we will not die on condition 4 (truncated input), but instead return -1 which doesn't hold true for the _status version. Can you adapt the comment to explain both read functions?