]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
socket-util: Move getsockopt_int() to implementation file
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 26 May 2025 14:20:16 +0000 (16:20 +0200)
committerMike Yuan <me@yhndnzj.com>
Mon, 26 May 2025 19:28:10 +0000 (21:28 +0200)
And switch back to negative_errno() at the same time.

src/basic/socket-util.c
src/basic/socket-util.h

index 9cce0e129a33a1eeb99aea8d642fafc1bd05c1b8..194f8e22e88d52463b027d5dffb98b35226bec4d 100644 (file)
@@ -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);
index a5a1d8775da5d861fdddd0b05a42845d649c30aa..9b7e6d43ed3dfc9ec96dd558383385d095e95edc 100644 (file)
@@ -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);