diff --git a/ChangeLog b/ChangeLog index f98930c45..addeb3f2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2008-03-13 Dan Williams + + * src/NetworkManagerUtils.c + src/NetworkManagerUtils.h + - (nm_ether_ntop): replacement for iw_ether_ntop() + + * src/NetworkManagerAP.c + src/nm-device-802-11-wireless.c + src/nm-device-802-3-ethernet.c + - s/iw_ether_ntop/nm_ether_ntop/g + 2008-03-13 Dan Williams * src/NetworkManagerPolicy.c diff --git a/src/NetworkManagerAP.c b/src/NetworkManagerAP.c index d442db721..568130522 100644 --- a/src/NetworkManagerAP.c +++ b/src/NetworkManagerAP.c @@ -162,7 +162,6 @@ get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { NMAccessPointPrivate *priv = NM_AP_GET_PRIVATE (object); - char hw_addr_buf[20]; GArray * ssid; int len; int i; @@ -189,9 +188,7 @@ get_property (GObject *object, guint prop_id, g_value_set_uint (value, priv->freq); break; case PROP_HW_ADDRESS: - memset (hw_addr_buf, 0, 20); - iw_ether_ntop (&priv->address, hw_addr_buf); - g_value_set_string (value, &hw_addr_buf[0]); + g_value_take_string (value, nm_ether_ntop (&priv->address)); break; case PROP_MODE: g_value_set_int (value, priv->mode); diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c index 9b1444c46..7de8ecdbc 100644 --- a/src/NetworkManagerUtils.c +++ b/src/NetworkManagerUtils.c @@ -351,3 +351,14 @@ nm_utils_hexstr2bin (const char *hex, } /* End from hostap */ + +char * +nm_ether_ntop (const struct ether_addr *mac) +{ + /* we like leading zeros */ + return g_strdup_printf ("%02X:%02X:%02X:%02X:%02X:%02X", + mac->ether_addr_octet[0], mac->ether_addr_octet[1], + mac->ether_addr_octet[2], mac->ether_addr_octet[3], + mac->ether_addr_octet[4], mac->ether_addr_octet[5]); +} + diff --git a/src/NetworkManagerUtils.h b/src/NetworkManagerUtils.h index 9361043da..84f7881ac 100644 --- a/src/NetworkManagerUtils.h +++ b/src/NetworkManagerUtils.h @@ -50,5 +50,7 @@ int nm_utils_ip4_netmask_to_prefix (guint32 ip4_netmask); char * nm_utils_hexstr2bin (const char *hex, size_t len); +char *nm_ether_ntop (const struct ether_addr *mac); + #endif diff --git a/src/nm-device-802-11-wireless.c b/src/nm-device-802-11-wireless.c index 2461fe061..beec37187 100644 --- a/src/nm-device-802-11-wireless.c +++ b/src/nm-device-802-11-wireless.c @@ -610,28 +610,27 @@ periodic_update (NMDevice80211Wireless *self) const GByteArray *new_ssid = NULL; const struct ether_addr *old_bssid = NULL; const GByteArray *old_ssid = NULL; - gchar new_addr[20]; - gchar old_addr[20]; + char *old_addr = NULL, *new_addr = NULL; - memset (new_addr, '\0', sizeof (new_addr)); if (new_ap) { new_bssid = nm_ap_get_address (new_ap); - iw_ether_ntop (new_bssid, new_addr); + new_addr = nm_ether_ntop (new_bssid); new_ssid = nm_ap_get_ssid (new_ap); } - memset (old_addr, '\0', sizeof (old_addr)); if (priv->current_ap) { old_bssid = nm_ap_get_address (priv->current_ap); - iw_ether_ntop (old_bssid, old_addr); + old_addr = nm_ether_ntop (old_bssid); old_ssid = nm_ap_get_ssid (priv->current_ap); } nm_debug ("Roamed from BSSID %s (%s) to %s (%s)", - old_bssid ? old_addr : "(none)", + old_addr ? old_addr : "(none)", old_ssid ? nm_utils_escape_ssid (old_ssid->data, old_ssid->len) : "(none)", - new_bssid ? new_addr : "(none)", + new_addr ? new_addr : "(none)", new_ssid ? nm_utils_escape_ssid (new_ssid->data, new_ssid->len) : "(none)"); + g_free (old_addr); + g_free (new_addr); set_current_ap (self, new_ap); } @@ -2942,14 +2941,11 @@ get_property (GObject *object, guint prop_id, NMDevice80211Wireless *device = NM_DEVICE_802_11_WIRELESS (object); NMDevice80211WirelessPrivate *priv = NM_DEVICE_802_11_WIRELESS_GET_PRIVATE (device); struct ether_addr hw_addr; - char hw_addr_buf[20]; switch (prop_id) { case PROP_HW_ADDRESS: - memset (hw_addr_buf, 0, 20); nm_device_802_11_wireless_get_address (device, &hw_addr); - iw_ether_ntop (&hw_addr, hw_addr_buf); - g_value_set_string (value, &hw_addr_buf[0]); + g_value_take_string (value, nm_ether_ntop (&hw_addr)); break; case PROP_MODE: g_value_set_int (value, nm_device_802_11_wireless_get_mode (device)); diff --git a/src/nm-device-802-3-ethernet.c b/src/nm-device-802-3-ethernet.c index db38847aa..db2cd8715 100644 --- a/src/nm-device-802-3-ethernet.c +++ b/src/nm-device-802-3-ethernet.c @@ -714,14 +714,11 @@ get_property (GObject *object, guint prop_id, { NMDevice8023Ethernet *device = NM_DEVICE_802_3_ETHERNET (object); struct ether_addr hw_addr; - char hw_addr_buf[20]; switch (prop_id) { case PROP_HW_ADDRESS: - memset (hw_addr_buf, 0, 20); nm_device_802_3_ethernet_get_address (device, &hw_addr); - iw_ether_ntop (&hw_addr, hw_addr_buf); - g_value_set_string (value, &hw_addr_buf[0]); + g_value_take_string (value, nm_ether_ntop (&hw_addr)); break; case PROP_SPEED: g_value_set_uint (value, nm_device_802_3_ethernet_get_speed (device));