From 4388866917c8766832346c6fddceb86ec7e34a19 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 21 Aug 2018 20:06:27 -0400 Subject: [PATCH] lib: Add stream_resize_orig and stream_resize_inplace 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 --- lib/stream.c | 7 ++++++- lib/stream.h | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/stream.c b/lib/stream.c index cf9af4d3bb..50ee9a5d56 100644 --- a/lib/stream.c +++ b/lib/stream.c @@ -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); diff --git a/lib/stream.h b/lib/stream.h index e808f039c6..e8cd76362e 100644 --- a/lib/stream.h +++ b/lib/stream.h @@ -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 *);