From: Daan De Meyer Date: Mon, 26 May 2025 14:20:16 +0000 (+0200) Subject: socket-util: Move getsockopt_int() to implementation file X-Git-Tag: v258-rc1~491 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8cf13c875240ae68f5717f987aa99915ad26b20f;p=thirdparty%2Fsystemd.git socket-util: Move getsockopt_int() to implementation file And switch back to negative_errno() at the same time. --- diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c index 9cce0e129a3..194f8e22e88 100644 --- a/src/basic/socket-util.c +++ b/src/basic/socket-util.c @@ -1529,6 +1529,22 @@ int sockaddr_un_set_path(struct sockaddr_un *ret, const char *path) { } } +int getsockopt_int(int fd, int level, int optname, int *ret) { + int v; + socklen_t sl = sizeof(v); + + assert(fd >= 0); + assert(ret); + + if (getsockopt(fd, level, optname, &v, &sl) < 0) + return negative_errno(); + if (sl != sizeof(v)) + return -EIO; + + *ret = v; + return 0; +} + int socket_bind_to_ifname(int fd, const char *ifname) { assert(fd >= 0); @@ -1684,7 +1700,7 @@ int socket_set_option(int fd, int af, int opt_ipv4, int opt_ipv6, int val) { } int socket_get_mtu(int fd, int af, size_t *ret) { - int mtu = 0, r; /* Avoid maybe-uninitialized false positive */ + int mtu, r; if (af == AF_UNSPEC) { af = socket_get_family(fd); diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h index a5a1d8775da..9b7e6d43ed3 100644 --- a/src/basic/socket-util.h +++ b/src/basic/socket-util.h @@ -248,18 +248,7 @@ static inline int setsockopt_int(int fd, int level, int optname, int value) { return 0; } -static inline int getsockopt_int(int fd, int level, int optname, int *ret) { - int v; - socklen_t sl = sizeof(v); - - if (getsockopt(fd, level, optname, &v, &sl) < 0) - return -errno; - if (sl != sizeof(v)) - return -EIO; - - *ret = v; - return 0; -} +int getsockopt_int(int fd, int level, int optname, int *ret); int socket_bind_to_ifname(int fd, const char *ifname); int socket_bind_to_ifindex(int fd, int ifindex);