{"thread":{"id":"11796","subject":"[PATCH 4/7] Refactor packet_write to prepare to integrate with sideband","startedAt":"2008-01-30T06:22:06Z","lastAt":"2008-01-30T06:22:06Z","messageCount":1,"participants":["Shawn O. Pearce"],"isPatch":true,"patchVersion":1,"patchTotal":7},"messages":[{"id":"66892","messageId":"20080130062206.GD15838@spearce.org","threadId":"11796","inReplyTo":null,"subject":"[PATCH 4/7] Refactor packet_write to prepare to integrate with sideband","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2008-01-30T06:22:06Z","receivedAt":"2008-01-30T06:22:06Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Simple refactoring to move the actual formatting into a\nhelper function.  Later we'll integrate this new helper\nwith sideband support, so we can embed a packet line\nwithin a multiplexed sideband stream.\n\nSigned-off-by: Shawn O. Pearce <spearce@spearce.org>\n---\n pkt-line.c |   17 +++++++++++++----\n 1 files changed, 13 insertions(+), 4 deletions(-)\n\ndiff --git a/pkt-line.c b/pkt-line.c\nindex 355546a..5917e1d 100644\n--- a/pkt-line.c\n+++ b/pkt-line.c\n@@ -43,16 +43,16 @@ void packet_flush(int fd)\n }\n \n #define hex(a) (hexchar[(a) & 15])\n-void packet_write(int fd, const char *fmt, ...)\n+static void packet_vwrite(\n+\tint fd,\n+\tconst char *fmt,\n+\tva_list args)\n {\n \tstatic char buffer[1000];\n \tstatic char hexchar[] = \"0123456789abcdef\";\n-\tva_list args;\n \tunsigned n;\n \n-\tva_start(args, fmt);\n \tn = vsnprintf(buffer + 4, sizeof(buffer) - 4, fmt, args);\n-\tva_end(args);\n \tif (n >= sizeof(buffer)-4)\n \t\tdie(\"protocol error: impossibly long line\");\n \tn += 4;\n@@ -63,6 +63,15 @@ void packet_write(int fd, const char *fmt, ...)\n \tsafe_write(fd, buffer, n);\n }\n \n+void packet_write(int fd, const char *fmt, ...)\n+{\n+\tva_list args;\n+\n+\tva_start(args, fmt);\n+\tpacket_vwrite(fd, fmt, args);\n+\tva_end(args);\n+}\n+\n static void safe_read(int fd, void *buffer, unsigned size)\n {\n \tsize_t n = 0;\n-- \n1.5.4.rc5.1126.g6ba14\n"}]}