vppinfra: add clib_ptr_array_pad_tail and clib_memset_uword 43/43943/2 master
authorDamjan Marion <[email protected]>
Fri, 24 Oct 2025 17:13:34 +0000 (19:13 +0200)
committerFlorin Coras <[email protected]>
Sat, 25 Oct 2025 21:24:25 +0000 (21:24 +0000)
Type: improvement
Change-Id: I0c431ceef725a9b18a936257ccda0855f84292f3
Signed-off-by: Damjan Marion <[email protected]>
src/vppinfra/string.h

index b1ef0e4..666ae29 100644 (file)
@@ -406,6 +406,24 @@ clib_memset_u32 (void *p, u32 val, uword count)
     ptr++[0] = val;
 }
 
     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)
 {
 static_always_inline void
 clib_memset_u16 (void *p, u16 val, uword count)
 {