diff options
author | Ben Peart <peartben@gmail.com> | 2017-05-05 11:27:56 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-05-08 10:57:26 +0900 |
commit | c0c70f7ac080c3b4ecc50a3207eb66e97c10271d (patch) | |
tree | 06cbefbbda060e2e20bfc92b9d22bac6b436b441 /pkt-line.c | |
parent | 825b9226bf7a962bc76571319b1444bc02fdcdf8 (diff) | |
download | git-c0c70f7ac080c3b4ecc50a3207eb66e97c10271d.tar.gz |
convert: move packet_write_line() into pkt-line as packet_writel()
Add packet_writel() which writes multiple lines in a single call and
then calls packet_flush_gently(). Update convert.c to use the new
packet_writel() function from pkt-line.
Signed-off-by: Ben Peart <benpeart@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'pkt-line.c')
-rw-r--r-- | pkt-line.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pkt-line.c b/pkt-line.c index 7db9119573..9d845ecc3c 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, ...) +{ + 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); +} + static int packet_write_gently(const int fd_out, const char *buf, size_t size) { static char packet_write_buffer[LARGE_PACKET_MAX]; |