From: Lennart Poettering Date: Mon, 31 Mar 2025 12:55:36 +0000 (+0200) Subject: xattr-util: add trivial xsetxattr_strv() wrapper X-Git-Tag: v258-rc1~983^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9fbe26cfa8fadb58e048aa6a57ad0dacf5de03fc;p=thirdparty%2Fsystemd.git xattr-util: add trivial xsetxattr_strv() wrapper --- diff --git a/src/basic/xattr-util.c b/src/basic/xattr-util.c index f5b270c3a92..f958e480ffb 100644 --- a/src/basic/xattr-util.c +++ b/src/basic/xattr-util.c @@ -343,6 +343,18 @@ int xsetxattr_full( return 0; } +int xsetxattr_strv(int fd, const char *path, int at_flags, const char *name, char * const* l) { + int r; + + _cleanup_free_ char *nulstr = NULL; + size_t size = 0; + r = strv_make_nulstr(l, &nulstr, &size); + if (r < 0) + return r; + + return xsetxattr_full(fd, path, at_flags, name, nulstr, size, /* xattr_flags= */ 0); +} + int xremovexattr(int fd, const char *path, int at_flags, const char *name) { int r; diff --git a/src/basic/xattr-util.h b/src/basic/xattr-util.h index 9132dc2e37c..02293e50073 100644 --- a/src/basic/xattr-util.h +++ b/src/basic/xattr-util.h @@ -50,6 +50,8 @@ static inline int xsetxattr( return xsetxattr_full(fd, path, at_flags, name, value, SIZE_MAX, 0); } +int xsetxattr_strv(int fd, const char *path, int at_flags, const char *name, char *const*l); + int xremovexattr(int fd, const char *path, int at_flags, const char *name); int fd_setcrtime(int fd, usec_t usec);