diff options
author | Andre Heider <a.heider@gmail.com> | 2022-11-23 11:05:51 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2022-12-16 00:24:56 +0100 |
commit | b3f530bc6b3368daedd0af7e76438265f960cc56 (patch) | |
tree | d3d7799ef7b472d8fdf5c19af6dd7b783e77192d | |
parent | c46ad61d49de411fc5bc64dd0bdd48518601487b (diff) | |
download | rpcd-b3f530bc6b3368daedd0af7e76438265f960cc56.tar.gz |
iwinfo: clean up rpc_iwinfo_call_hw_ht_mode()
There's no need to call hwmodelist() again, just pass on the earlier
result.
Signed-off-by: Andre Heider <a.heider@gmail.com>
-rw-r--r-- | iwinfo.c | 23 |
1 files changed, 11 insertions, 12 deletions
@@ -241,30 +241,28 @@ rpc_iwinfo_call_htmodes(const char *name) false, 0); } -static void +static int rpc_iwinfo_call_hwmodes(const char *name) { int modes; if (iw->hwmodelist(ifname, &modes)) - return; + return -1; rpc_iwinfo_add_bit_array(name, modes, IWINFO_80211_NAMES, IWINFO_80211_COUNT, false, 0); + + return modes; } -static void rpc_iwinfo_call_hw_ht_mode() +static void rpc_iwinfo_call_hw_ht_mode(int hwmodelist) { const char *hwmode_str; const char *htmode_str; - int32_t htmode = 0; - int modes; + int htmode; - if (iw->hwmodelist(ifname, &modes)) - return; - - if (modes == IWINFO_80211_AD) + if (hwmodelist == IWINFO_80211_AD) { blobmsg_add_string(&buf, "hwmode", "ad"); return; @@ -305,7 +303,7 @@ rpc_iwinfo_info(struct ubus_context *ctx, struct ubus_object *obj, struct ubus_request_data *req, const char *method, struct blob_attr *msg) { - int rv; + int rv, hwmodes; void *c; rv = rpc_iwinfo_open(msg); @@ -342,9 +340,10 @@ rpc_iwinfo_info(struct ubus_context *ctx, struct ubus_object *obj, rpc_iwinfo_call_encryption("encryption"); rpc_iwinfo_call_htmodes("htmodes"); - rpc_iwinfo_call_hwmodes("hwmodes"); + hwmodes = rpc_iwinfo_call_hwmodes("hwmodes"); - rpc_iwinfo_call_hw_ht_mode(); + if (hwmodes > 0) + rpc_iwinfo_call_hw_ht_mode(hwmodes); c = blobmsg_open_table(&buf, "hardware"); rpc_iwinfo_call_hardware_id("id"); |