Re: [PATCH v2 1/2] pkt-line: add packet_writel() and packet_read_line_gently()
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Mar 25, 2017, 05:47 UTC
- Message-ID
- <7a2c73c8-bb09-12ec-dd8d-99c5363f9bb4@web.de>
- In-Reply-To
- <20170324152726.14632-2-benpeart@microsoft.com>
On 2017-03-24 16:27, Ben Peart wrote:
Show 19 quoted lines
> Add packet_writel() which writes multiple lines in a single call and > then calls packet_flush_gently(). Add packet_read_line_gently() to > enable reading a line without dying on EOF. > > Signed-off-by: Ben Peart <benpeart@microsoft.com> > --- > pkt-line.c | 31 +++++++++++++++++++++++++++++++ > pkt-line.h | 11 +++++++++++ > 2 files changed, 42 insertions(+) > > diff --git a/pkt-line.c b/pkt-line.c > index d4b6bfe076..2788aa1af6 100644 > --- a/pkt-line.c > +++ b/pkt-line.c > @@ -171,6 +171,25 @@ int packet_write_fmt_gently(int fd, const char *fmt, ...) > return status; > } > > +int packet_writel(int fd, const char *line, ...)
The name packet_writel is hard to distinguish from packet_write. Would packet_write_lines make more sense ?
Show 18 quoted lines
> +{
> + va_list args;
> + int err;
> + va_start(args, line);
> + for (;;) {
> + if (!line)
> + break;
> + if (strlen(line) > LARGE_PACKET_DATA_MAX)
> + return -1;
> + err = packet_write_fmt_gently(fd, "%s\n", line);
> + if (err)
> + return err;
> + line = va_arg(args, const char*);
> + }
> + va_end(args);
> + return packet_flush_gently(fd);
> +}
> +I don't think that this va_start() is needed, even if it works.
int packet_write_line(int fd, const char *lines[])
|
const char *line = *lines;
int err;
while (line) {
if (strlen(line) > LARGE_PACKET_DATA_MAX)
return -1;
err = packet_write_fmt_gently(fd, "%s\n", line);
if (err)
return err;
lines++;
line = *lines;
}
return packet_flush_gently(fd);
]