From e7fe7cd305b1b79d7bd54d4b5e55e4dd714744b2 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Fri, 24 Oct 2025 19:13:34 +0200 Subject: [PATCH] vppinfra: add clib_ptr_array_pad_tail and clib_memset_uword Type: improvement Change-Id: I0c431ceef725a9b18a936257ccda0855f84292f3 Signed-off-by: Damjan Marion --- src/vppinfra/string.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/vppinfra/string.h b/src/vppinfra/string.h index b1ef0e4809b..666ae29ff6f 100644 --- a/src/vppinfra/string.h +++ b/src/vppinfra/string.h @@ -406,6 +406,24 @@ clib_memset_u32 (void *p, u32 val, uword count) ptr++[0] = val; } +static_always_inline void +clib_memset_uword (void *p, uword val, uword count) +{ +#if uword_bits == 64 + clib_memset_u64 (p, val, count); +#else + clib_memset_u32 (p, val, count); +#endif +} + +static_always_inline void +clib_ptr_array_pad_tail (void **ptrs, u32 count, u32 n_pad) +{ + uword *p = (uword *) ptrs; + ASSERT (count > 0); + clib_memset_uword (p + count, p[count - 1], n_pad); +} + static_always_inline void clib_memset_u16 (void *p, u16 val, uword count) { -- 2.16.6