From 556059bf80e3a368811fd46fe2b6e35104d0eda3 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Mon, 18 Nov 2019 00:07:52 -0600 Subject: Qt UI: Factor out MAC address stringify to function --- ui/qt5/horizonwizard.cc | 11 +---------- ui/qt5/horizonwizard.hh | 13 +++++++++++++ 2 files changed, 14 insertions(+), 10 deletions(-) (limited to 'ui') diff --git a/ui/qt5/horizonwizard.cc b/ui/qt5/horizonwizard.cc index 2679a6e..7a64d2a 100644 --- a/ui/qt5/horizonwizard.cc +++ b/ui/qt5/horizonwizard.cc @@ -126,16 +126,7 @@ std::map probe_ifaces(void) { memcpy(&request.ifr_name, cifname, strnlen(cifname, IFNAMSIZ)); errno = 0; if(ioctl(my_sock, SIOCGIFHWADDR, &request) != -1) { - char *buf; - asprintf(&buf, "%02X:%02X:%02X:%02X:%02X:%02X", - request.ifr_ifru.ifru_hwaddr.sa_data[0], - request.ifr_ifru.ifru_hwaddr.sa_data[1], - request.ifr_ifru.ifru_hwaddr.sa_data[2], - request.ifr_ifru.ifru_hwaddr.sa_data[3], - request.ifr_ifru.ifru_hwaddr.sa_data[4], - request.ifr_ifru.ifru_hwaddr.sa_data[5]); - mac = QString(buf); - free(buf); + mac = fromMacAddress(request.ifr_ifru.ifru_hwaddr.sa_data); } ::close(my_sock); } diff --git a/ui/qt5/horizonwizard.hh b/ui/qt5/horizonwizard.hh index cd0d213..2941f08 100644 --- a/ui/qt5/horizonwizard.hh +++ b/ui/qt5/horizonwizard.hh @@ -18,6 +18,19 @@ #include #include +inline QString fromMacAddress(char address[6]) { + char buf[18]; + snprintf(buf, 18, "%02X:%02X:%02X:%02X:%02X:%02X", + address[0] & 0xFF, + address[1] & 0xFF, + address[2] & 0xFF, + address[3] & 0xFF, + address[4] & 0xFF, + address[5] & 0xFF); + QString mac(buf); + return mac; +} + class HorizonWizard : public QWizard { public: enum { -- cgit v1.2.3-70-g09d2