]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: mux-h1: Add function to prepend the chunk crlf to the output buffer
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 20 Jun 2023 11:33:59 +0000 (13:33 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 20 Jun 2023 11:33:59 +0000 (13:33 +0200)
h1_prepend_chunk_crlf() function does the opposite of
h1_append_chunk_crlf(). It emit the chunk size in front of the output
buffer.

src/mux_h1.c

index 08b68605e072399b25ef1c87d8ad7e62bf7fdbd8..7722575541bf0e7133510c54414a332426a21e8f 100644 (file)
@@ -1438,6 +1438,22 @@ static __maybe_unused int h1_append_chunk_size(struct buffer *buf, size_t chksz)
        return chunk_memcat(buf, beg, end - beg);
 }
 
+/* Emit a CRLF in front of data of the buffer <buf>. It goes backwards and
+ * starts with the byte before the buffer's head. The caller is responsible for
+ * ensuring there is enough room left before the buffer's head for the string.
+ */
+static __maybe_unused void h1_prepend_chunk_crlf(struct buffer *buf)
+{
+       char *head;
+
+       head = b_head(buf);
+       *--head = '\n';
+       *--head = '\r';
+       buf->head -= 2;
+       b_add(buf, 2);
+}
+
+
 /* 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)