]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: chunk: Remove duplicated chunk_Xcat implementation
authorTim Duesterhus <tim@bastelstu.be>
Mon, 8 Nov 2021 08:05:05 +0000 (09:05 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 8 Nov 2021 11:08:26 +0000 (12:08 +0100)
Delegate chunk_istcat, chunk_cat and chunk_strncat to the most generic
chunk_memcat.

include/haproxy/chunk.h

index af9ef816bba80d8ded02f30a81c141ce0f07e797..05fd161217006119aab0304625689940851adae1 100644 (file)
@@ -107,28 +107,6 @@ static inline int chunk_cpy(struct buffer *chk, const struct buffer *src)
        return 1;
 }
 
-/* appends chunk <src> after <chk>. Returns 0 in case of failure. */
-static inline int chunk_cat(struct buffer *chk, const struct buffer *src)
-{
-       if (unlikely(chk->data + src->data > chk->size))
-               return 0;
-
-       memcpy(chk->area + chk->data, src->area, src->data);
-       chk->data += src->data;
-       return 1;
-}
-
-/* appends ist <src> after <chk>. Returns 0 in case of failure. */
-static inline int chunk_istcat(struct buffer *chk, const struct ist src)
-{
-       if (unlikely(chk->data + src.len > chk->size))
-               return 0;
-
-       memcpy(chk->area + chk->data, src.ptr, src.len);
-       chk->data += src.len;
-       return 1;
-}
-
 /* copies memory area <src> into <chk> for <len> bytes. Returns 0 in
  * case of failure. No trailing zero is added.
  */
@@ -158,6 +136,18 @@ static inline int chunk_memcat(struct buffer *chk, const char *src,
        return 1;
 }
 
+/* appends ist <src> after <chk>. Returns 0 in case of failure. */
+static inline int chunk_istcat(struct buffer *chk, const struct ist src)
+{
+       return chunk_memcat(chk, istptr(src), istlen(src));
+}
+
+/* appends chunk <src> after <chk>. Returns 0 in case of failure. */
+static inline int chunk_cat(struct buffer *chk, const struct buffer *src)
+{
+       return chunk_memcat(chk, src->area, src->data);
+}
+
 /* copies str into <chk> followed by a trailing zero. Returns 0 in
  * case of failure.
  */
@@ -218,12 +208,7 @@ static inline int chunk_strcat(struct buffer *chk, const char *str)
  */
 static inline int chunk_strncat(struct buffer *chk, const char *str, int nb)
 {
-       if (unlikely(chk->data + nb >= chk->size))
-               return 0;
-
-       memcpy(chk->area + chk->data, str, nb);
-       chk->data += nb;
-       return 1;
+       return chunk_memcat(chk, str, nb);
 }
 
 /* Adds a trailing zero to the current chunk and returns the pointer to the