]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: mux-h1: Add function to append the chunk size to the output buffer
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 20 Jun 2023 11:33:53 +0000 (13:33 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 20 Jun 2023 11:33:53 +0000 (13:33 +0200)
h1_append_chunk_size() function does the opposite of
h1_prepend_chunk_size(). It emit the chunk size at the end of the output
buffer.

src/mux_h1.c

index 3986d32b0a082129ad0292969eef99682919fe48..08b68605e072399b25ef1c87d8ad7e62bf7fdbd8 100644 (file)
@@ -1420,6 +1420,24 @@ static void h1_prepend_chunk_size(struct buffer *buf, size_t chksz)
        b_add(buf, end - beg);
 }
 
+/* Emit the chunksize followed by a CRLF after the data of the buffer
+ * <buf>. Returns 0 on error.
+ */
+static __maybe_unused int h1_append_chunk_size(struct buffer *buf, size_t chksz)
+{
+       char     tmp[10];
+       char    *beg, *end;
+
+       beg = end = tmp+10;
+       *--beg = '\n';
+       *--beg = '\r';
+       do {
+               *--beg = hextab[chksz & 0xF];
+       } while (chksz >>= 4);
+
+       return chunk_memcat(buf, beg, end - beg);
+}
+
 /* Emit a CRLF after the data of the buffer <buf>. The caller is responsible for
  * ensuring there is enough room left in the buffer for the string. */
 static void h1_append_chunk_crlf(struct buffer *buf)