]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
siphash24: introduce siphash24_compress_iovec() helper function
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 2 May 2026 14:03:15 +0000 (23:03 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Sun, 3 May 2026 09:20:18 +0000 (10:20 +0100)
src/basic/siphash24.c
src/basic/siphash24.h

index 72d6bbe4f0cb7716cceeb9d8b78b929d8c296021..b73ede34c8bc43c04697adb23f84db94473ab43a 100644 (file)
@@ -21,6 +21,7 @@
 
 #include <stdio.h>
 
+#include "iovec-util.h"
 #include "siphash24.h"
 #include "string-util.h"
 #include "unaligned.h"
@@ -156,6 +157,16 @@ void siphash24_compress_string(const char *in, struct siphash *state) {
         siphash24_compress_safe(in, strlen_ptr(in), state);
 }
 
+void siphash24_compress_iovec(const struct iovec *iov, struct siphash *state) {
+        assert(iovec_is_valid(iov));
+        assert(state);
+
+        if (!iovec_is_set(iov))
+                return;
+
+        siphash24_compress(iov->iov_base, iov->iov_len, state);
+}
+
 uint64_t siphash24_finalize(struct siphash *state) {
         uint64_t b;
 
index d72233beda89bdb19769b1e8699c16ba3a5f283e..772e2728b69e0718aca32db5c095b85d1cfecc26 100644 (file)
@@ -36,6 +36,7 @@ static inline void siphash24_compress_safe(const void *in, size_t inlen, struct
 }
 
 void siphash24_compress_string(const char *in, struct siphash *state);
+void siphash24_compress_iovec(const struct iovec *iov, struct siphash *state);
 
 uint64_t siphash24_finalize(struct siphash *state);