summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroliver@schinagl.nl <oliver@schinagl.nl>2016-11-25 16:30:20 +0100
committerJoe Hershberger <joe.hershberger@ni.com>2017-02-07 10:54:32 -0600
commit9f455bcb34fcab31b0eb8eec5702105c8d4bde18 (patch)
tree9d69ec52062805b09896a80088d121cb58dde93c
parenta40db6d511712f53b6663e61786a9eb825589984 (diff)
net: cosmetic: Make the MAC address string less magical
In u-boot printf has been extended with the %pM formatter to allow printing of MAC addresses. However buffers that want to store a MAC address cannot safely get the size. Add a define for this case so the string of a MAC address can be reliably obtained. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
-rw-r--r--include/net.h5
-rw-r--r--net/eth_common.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/include/net.h b/include/net.h
index 61568f6b31..c3bfb63782 100644
--- a/include/net.h
+++ b/include/net.h
@@ -40,6 +40,11 @@
/* ARP hardware address length */
#define ARP_HLEN 6
+/*
+ * The size of a MAC address in string form, each digit requires two chars
+ * and five separator characters to form '00:00:00:00:00:00'.
+ */
+#define ARP_HLEN_ASCII (ARP_HLEN * 2) + (ARP_HLEN - 1)
/* IPv4 addresses are always 32 bits in size */
struct in_addr {
diff --git a/net/eth_common.c b/net/eth_common.c
index 288090155e..e9d3c66741 100644
--- a/net/eth_common.c
+++ b/net/eth_common.c
@@ -32,7 +32,7 @@ int eth_getenv_enetaddr(const char *name, uchar *enetaddr)
int eth_setenv_enetaddr(const char *name, const uchar *enetaddr)
{
- char buf[20];
+ char buf[ARP_HLEN_ASCII + 1];
sprintf(buf, "%pM", enetaddr);