summaryrefslogtreecommitdiff
path: root/src/rtnl.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-12-20 10:49:45 -0800
committerMarcel Holtmann <marcel@holtmann.org>2009-12-20 10:49:45 -0800
commit5a2da944baf83c569df0e450d3e10ff0411a3248 (patch)
treeea4c49a5c62dd443c01e6dbbeb99c9baa5d777e9 /src/rtnl.c
parentc587093d33cd22a9affa0334690479d88922b852 (diff)
downloadconnman-5a2da944baf83c569df0e450d3e10ff0411a3248.tar.gz
connman-5a2da944baf83c569df0e450d3e10ff0411a3248.tar.bz2
connman-5a2da944baf83c569df0e450d3e10ff0411a3248.zip
Fix Ethernet address string representation
Diffstat (limited to 'src/rtnl.c')
-rw-r--r--src/rtnl.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/rtnl.c b/src/rtnl.c
index 2bc77caa..095f01f3 100644
--- a/src/rtnl.c
+++ b/src/rtnl.c
@@ -23,6 +23,7 @@
#include <config.h>
#endif
+#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <sys/socket.h>
@@ -287,22 +288,30 @@ static void process_newlink(unsigned short type, int index, unsigned flags,
unsigned char operstate = 0xff;
const char *ifname = NULL;
unsigned int mtu = 0;
+ char str[18];
GSList *list;
extract_link(msg, bytes, &address, &ifname, &mtu, &operstate);
+ snprintf(str, 18, "%02X:%02X:%02X:%02X:%02X:%02X",
+ address.ether_addr_octet[0],
+ address.ether_addr_octet[1],
+ address.ether_addr_octet[2],
+ address.ether_addr_octet[3],
+ address.ether_addr_octet[4],
+ address.ether_addr_octet[5]);
+
switch (type) {
case ARPHRD_ETHER:
case ARPHRD_LOOPBACK:
case ARPHRD_NONE:
- __connman_ipconfig_newlink(index, type, flags,
- ether_ntoa(&address), mtu);
+ __connman_ipconfig_newlink(index, type, flags, str, mtu);
break;
}
if (memcmp(&address, &compare, ETH_ALEN) != 0)
connman_info("%s {newlink} index %d address %s mtu %u",
- ifname, index, ether_ntoa(&address), mtu);
+ ifname, index, str, mtu);
if (operstate != 0xff)
connman_info("%s {newlink} index %d operstate %u <%s>",