From: Tobias Stoeckmann Date: Mon, 24 Feb 2025 19:20:50 +0000 (+0100) Subject: shared: turn strbuf_reserve_extra private X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=55c779fa56b19104e0cefedeef95dded529d7b20;p=thirdparty%2Fkmod.git shared: turn strbuf_reserve_extra private We can make it public if it's needed again. Signed-off-by: Tobias Stoeckmann Link: https://github.com/kmod-project/kmod/pull/296 Signed-off-by: Lucas De Marchi --- diff --git a/shared/strbuf.c b/shared/strbuf.c index 8e6dd72d..172558a6 100644 --- a/shared/strbuf.c +++ b/shared/strbuf.c @@ -34,7 +34,7 @@ static bool buf_realloc(struct strbuf *buf, size_t sz) return true; } -bool strbuf_reserve_extra(struct strbuf *buf, size_t n) +static bool strbuf_reserve_extra(struct strbuf *buf, size_t n) { if (uaddsz_overflow(buf->used, n, &n) || n >= SIZE_MAX - BUF_STEP) return false; diff --git a/shared/strbuf.h b/shared/strbuf.h index 3d97c5de..074699a6 100644 --- a/shared/strbuf.h +++ b/shared/strbuf.h @@ -50,12 +50,6 @@ void strbuf_clear(struct strbuf *buf); */ const char *strbuf_str(struct strbuf *buf); -/* - * Reserve enough space for @n bytes, ensuring additional pushes up to @n bytes - * don't cause re-allocations - */ -bool strbuf_reserve_extra(struct strbuf *buf, size_t n); - bool strbuf_pushchar(struct strbuf *buf, char ch); size_t strbuf_pushmem(struct strbuf *buf, const char *src, size_t sz); static inline size_t strbuf_pushchars(struct strbuf *buf, const char *str) diff --git a/testsuite/test-strbuf.c b/testsuite/test-strbuf.c index c212f5ed..71aa7004 100644 --- a/testsuite/test-strbuf.c +++ b/testsuite/test-strbuf.c @@ -133,42 +133,15 @@ static int test_strbuf_with_heap(const struct test *t) } DEFINE_TEST(test_strbuf_with_heap, .description = "test strbuf with heap only"); -static int test_strbuf_reserve_extra(const struct test *t) -{ - _cleanup_strbuf_ struct strbuf buf; - size_t size; - - strbuf_init(&buf); - strbuf_reserve_extra(&buf, strlen(TEXT) + 1); - size = buf.size; - assert_return(size >= strlen(TEXT) + 1, EXIT_FAILURE); - - strbuf_pushchars(&buf, TEXT); - strbuf_pushchar(&buf, '\0'); - assert_return(size == buf.size, EXIT_FAILURE); - - strbuf_clear(&buf); - strbuf_pushchars(&buf, TEXT); - assert_return(size == buf.size, EXIT_FAILURE); - - return 0; -} -DEFINE_TEST(test_strbuf_reserve_extra, .description = "test strbuf_reserve_extra"); - static int test_strbuf_pushmem(const struct test *t) { _cleanup_strbuf_ struct strbuf buf; - size_t size; strbuf_init(&buf); strbuf_pushmem(&buf, "", 0); - strbuf_reserve_extra(&buf, strlen(TEXT) + 1); - size = buf.size; strbuf_pushmem(&buf, TEXT, strlen(TEXT) + 1); - assert_return(size == buf.size, EXIT_FAILURE); assert_return(streq(TEXT, strbuf_str(&buf)), EXIT_FAILURE); - assert_return(size == buf.size, EXIT_FAILURE); return 0; } @@ -184,7 +157,8 @@ static int test_strbuf_used(const struct test *t) strbuf_pushchars(&buf, TEXT); assert_return(strbuf_used(&buf) == strlen(TEXT), EXIT_FAILURE); - strbuf_reserve_extra(&buf, 1); + strbuf_pushchar(&buf, 'a'); + strbuf_popchar(&buf); assert_return(strbuf_used(&buf) == strlen(TEXT), EXIT_FAILURE); assert_return(streq(TEXT, strbuf_str(&buf)), EXIT_FAILURE);