From: Lennart Poettering Date: Mon, 20 Nov 2023 16:06:06 +0000 (+0100) Subject: iovec-util: add iovec_is_valid() helper X-Git-Tag: v256-rc1~1263^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=39f586873d78ae829a9f143c261022769d369758;p=thirdparty%2Fsystemd.git iovec-util: add iovec_is_valid() helper --- diff --git a/src/basic/iovec-util.h b/src/basic/iovec-util.h index 038f342fb2d..bbd10e2a676 100644 --- a/src/basic/iovec-util.h +++ b/src/basic/iovec-util.h @@ -45,9 +45,15 @@ static inline void iovec_done_erase(struct iovec *iovec) { } static inline bool iovec_is_set(const struct iovec *iovec) { + /* Checks if the iovec points to a non-empty chunk of memory */ return iovec && iovec->iov_len > 0 && iovec->iov_base; } +static inline bool iovec_is_valid(const struct iovec *iovec) { + /* Checks if the iovec is either NULL, empty or points to a valid bit of memory */ + return !iovec || (iovec->iov_base || iovec->iov_len == 0); +} + char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value); char* set_iovec_string_field_free(struct iovec *iovec, size_t *n_iovec, const char *field, char *value);