]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib: Add stream_resize_orig and stream_resize_inplace
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 22 Aug 2018 00:06:27 +0000 (20:06 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 22 Aug 2018 11:58:54 +0000 (07:58 -0400)
Start setup for handling of stream_resize into old
and new functions.

Create a stream_resize_inplace function that takes
a double pointer to allow for a realloc operation
to return the possibly moved pointer.

Add a CONFDATE for removal as well.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
lib/stream.c
lib/stream.h

index cf9af4d3bb98fd768e8b3a9fe64acb20a33df60b..50ee9a5d5612930d333a4d1e861061e72b524f7d 100644 (file)
@@ -166,7 +166,12 @@ struct stream *stream_dupcat(struct stream *s1, struct stream *s2,
        return new;
 }
 
-size_t stream_resize(struct stream *s, size_t newsize)
+size_t stream_resize_inplace(struct stream **sptr, size_t newsize)
+{
+       return stream_resize_orig(*sptr, newsize);
+}
+
+size_t stream_resize_orig(struct stream *s, size_t newsize)
 {
        uint8_t *newdata;
        STREAM_VERIFY_SANE(s);
index e808f039c623c07468df2ade9792c85648931a06..e8cd76362ed7fa14a45e4e371e399214d0e8fd5f 100644 (file)
@@ -154,7 +154,14 @@ extern struct stream *stream_new(size_t);
 extern void stream_free(struct stream *);
 extern struct stream *stream_copy(struct stream *, struct stream *src);
 extern struct stream *stream_dup(struct stream *);
-extern size_t stream_resize(struct stream *, size_t);
+
+#if CONFDATE > 20190821
+CPP_NOTICE("lib: time to remove stream_resize_orig")
+#endif
+extern size_t stream_resize_orig(struct stream *s, size_t newsize);
+#define stream_resize stream_resize_orig
+extern size_t stream_resize_inplace(struct stream **sptr, size_t newsize);
+
 extern size_t stream_get_getp(struct stream *);
 extern size_t stream_get_endp(struct stream *);
 extern size_t stream_get_size(struct stream *);