summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-02-16 17:06:35 +0100
committerThomas Haller <thaller@redhat.com>2018-02-21 12:08:46 +0100
commit4da2a19a873d6cc51720d54c6f4183783ad4a56d (patch)
treebafcf4c601fe2d31881d9741952494f430453e88
parent03420e6a5c67df7a04ad2a39e72677ec190b1061 (diff)
downloadNetworkManager-4da2a19a873d6cc51720d54c6f4183783ad4a56d.tar.gz
netlink: drop redundant nl_recvmsgs_report() function
The only difference between nl_recvmsgs_report() and nl_recvmsgs() is the return value on success. libnl3 couldn't change that for backward compatibility reasons. We can merge them.
-rw-r--r--src/platform/nm-netlink.c15
-rw-r--r--src/platform/nm-netlink.h4
-rw-r--r--src/platform/wifi/wifi-utils-nl80211.c10
3 files changed, 8 insertions, 21 deletions
diff --git a/src/platform/nm-netlink.c b/src/platform/nm-netlink.c
index 6a87546c17..0770e0be16 100644
--- a/src/platform/nm-netlink.c
+++ b/src/platform/nm-netlink.c
@@ -817,7 +817,7 @@ struct nl_cb {
/*****************************************************************************/
static int
-nl_cb_call (struct nl_cb *cb, enum nl_cb_type type, struct nl_msg *msg)
+nl_cb_call (const struct nl_cb *cb, enum nl_cb_type type, struct nl_msg *msg)
{
return cb->cb_set[type](msg, cb->cb_args[type]);
}
@@ -1209,7 +1209,7 @@ do { \
} while (0)
int
-nl_recvmsgs_report (struct nl_sock *sk, struct nl_cb *cb)
+nl_recvmsgs (struct nl_sock *sk, const struct nl_cb *cb)
{
int n, err = 0, multipart = 0, interrupted = 0, nrecv = 0;
unsigned char *buf = NULL;
@@ -1370,17 +1370,6 @@ out:
}
int
-nl_recvmsgs (struct nl_sock *sk, struct nl_cb *cb)
-{
- int err;
-
- if ((err = nl_recvmsgs_report(sk, cb)) > 0)
- err = 0;
-
- return err;
-}
-
-int
nl_sendmsg (struct nl_sock *sk, struct nl_msg *msg, struct msghdr *hdr)
{
int ret;
diff --git a/src/platform/nm-netlink.h b/src/platform/nm-netlink.h
index fa2a10ed63..2e0af4bc57 100644
--- a/src/platform/nm-netlink.h
+++ b/src/platform/nm-netlink.h
@@ -510,9 +510,7 @@ int nl_send_iovec (struct nl_sock *sk, struct nl_msg *msg, struct iovec *iov, un
void nl_complete_msg (struct nl_sock *sk, struct nl_msg *msg);
-int nl_recvmsgs_report (struct nl_sock *sk, struct nl_cb *cb);
-
-int nl_recvmsgs (struct nl_sock *sk, struct nl_cb *cb);
+int nl_recvmsgs (struct nl_sock *sk, const struct nl_cb *cb);
int nl_wait_for_ack (struct nl_sock *sk);
diff --git a/src/platform/wifi/wifi-utils-nl80211.c b/src/platform/wifi/wifi-utils-nl80211.c
index 19c301f079..8624c607a4 100644
--- a/src/platform/wifi/wifi-utils-nl80211.c
+++ b/src/platform/wifi/wifi-utils-nl80211.c
@@ -250,7 +250,7 @@ _nl80211_send_and_recv (struct nl_sock *nl_sock,
break;
}
}
- if (err == 0 && done < 0)
+ if (err >= 0 && done < 0)
err = done;
out:
@@ -326,7 +326,7 @@ wifi_nl80211_get_mode (WifiData *data)
msg = nl80211_alloc_msg (nl80211, NL80211_CMD_GET_INTERFACE, 0);
if (nl80211_send_and_recv (nl80211, msg, nl80211_iface_info_handler,
- &iface_info) < 0)
+ &iface_info) < 0)
return NM_802_11_MODE_UNKNOWN;
return iface_info.mode;
@@ -356,7 +356,7 @@ wifi_nl80211_set_mode (WifiData *data, const NM80211Mode mode)
}
err = nl80211_send_and_recv (nl80211, msg, NULL, NULL);
- return err ? FALSE : TRUE;
+ return err >= 0;
nla_put_failure:
nlmsg_free (msg);
@@ -374,7 +374,7 @@ wifi_nl80211_set_powersave (WifiData *data, guint32 powersave)
NLA_PUT_U32 (msg, NL80211_ATTR_PS_STATE,
powersave == 1 ? NL80211_PS_ENABLED : NL80211_PS_DISABLED);
err = nl80211_send_and_recv (nl80211, msg, NULL, NULL);
- return err ? FALSE : TRUE;
+ return err >= 0;
nla_put_failure:
nlmsg_free (msg);
@@ -702,7 +702,7 @@ wifi_nl80211_indicate_addressing_running (WifiData *data, gboolean running)
}
err = nl80211_send_and_recv (nl80211, msg, NULL, NULL);
- return err ? FALSE : TRUE;
+ return err >= 0;
nla_put_failure:
nlmsg_free (msg);