diff --git a/src/fst/fst_ctrl_iface.c b/src/fst/fst_ctrl_iface.c index c06a09b3d..8fe8fb299 100644 --- a/src/fst/fst_ctrl_iface.c +++ b/src/fst/fst_ctrl_iface.c @@ -561,7 +561,6 @@ static int get_peer_mbies(const char *params, char *buf, size_t buflen) struct fst_group *g; struct fst_iface *iface = NULL; struct wpabuf *mbies; - int ret; if (fst_read_next_text_param(params, ifname, sizeof(ifname), &endp) || !*ifname) @@ -584,11 +583,8 @@ static int get_peer_mbies(const char *params, char *buf, size_t buflen) if (!mbies) goto problem; - ret = print_mb_ies(mbies, buf, buflen); - if ((size_t) ret != wpabuf_len(mbies) * 2) - fst_printf(MSG_WARNING, "MB IEs copied only partially"); - - return ret; + return wpa_snprintf_hex(buf, buflen, wpabuf_head(mbies), + wpabuf_len(mbies)); problem: return os_snprintf(buf, buflen, "FAIL\n"); @@ -648,25 +644,6 @@ static int list_groups(const char *cmd, char *buf, size_t buflen) } -int print_mb_ies(struct wpabuf *mbies, char *buf, size_t buflen) -{ - const u8 *p = wpabuf_head(mbies); - size_t s = wpabuf_len(mbies); - int ret = 0; - - while ((size_t) ret < buflen && s--) { - int res; - - res = os_snprintf(buf + ret, buflen - ret, "%02x", *p++); - if (os_snprintf_error(buflen - ret, res)) - break; - ret += res; - } - - return ret; -} - - static const char * band_freq(enum mb_band_id band) { static const char *band_names[] = { @@ -697,7 +674,9 @@ static int print_band(unsigned num, struct fst_iface *iface, const u8 *addr, if (wpabuf) { ret += os_snprintf(buf + ret, buflen - ret, "band%u_mb_ies=", num); - ret += print_mb_ies(wpabuf, buf + ret, buflen - ret); + ret += wpa_snprintf_hex(buf + ret, buflen - ret, + wpabuf_head(wpabuf), + wpabuf_len(wpabuf)); ret += os_snprintf(buf + ret, buflen - ret, "\n"); } ret += os_snprintf(buf + ret, buflen - ret, "band%u_fst_group_id=%s\n", diff --git a/src/fst/fst_ctrl_iface.h b/src/fst/fst_ctrl_iface.h index c3b4873ee..4d0cd9fce 100644 --- a/src/fst/fst_ctrl_iface.h +++ b/src/fst/fst_ctrl_iface.h @@ -30,9 +30,6 @@ fst_ctrl_iface_mb_info(const u8 *addr, char *buf, size_t buflen) #endif /* CONFIG_FST */ - -int print_mb_ies(struct wpabuf *mbies, char *buf, size_t buflen); - int fst_read_next_int_param(const char *params, Boolean *valid, char **endp); int fst_read_next_text_param(const char *params, char *buf, size_t buflen, char **endp); diff --git a/src/fst/fst_session.c b/src/fst/fst_session.c index 609fc9a43..b2f77203a 100644 --- a/src/fst/fst_session.c +++ b/src/fst/fst_session.c @@ -1571,7 +1571,6 @@ int fst_test_req_get_local_mbies(const char *request, char *buf, size_t buflen) char ifname[FST_MAX_COMMAND_WORD_NAME_LENGTH]; struct fst_group *g; struct fst_iface *iface; - int ret; if (fst_read_next_text_param(request, ifname, sizeof(ifname), &endp) || !*ifname) @@ -1583,10 +1582,8 @@ int fst_test_req_get_local_mbies(const char *request, char *buf, size_t buflen) iface = fst_group_get_iface_by_name(g, ifname); if (!iface || !iface->mb_ie) goto problem; - ret = print_mb_ies(iface->mb_ie, buf, buflen); - if ((size_t) ret != wpabuf_len(iface->mb_ie) * 2) - fst_printf(MSG_WARNING, "MB IEs copied only partially"); - return ret; + return wpa_snprintf_hex(buf, buflen, wpabuf_head(iface->mb_ie), + wpabuf_len(iface->mb_ie)); problem: return os_snprintf(buf, buflen, "FAIL\n");