]> git.sur5r.net Git - u-boot/commitdiff
net: cosmetic: Make the MAC address string less magical
authoroliver@schinagl.nl <oliver@schinagl.nl>
Fri, 25 Nov 2016 15:30:20 +0000 (16:30 +0100)
committerJoe Hershberger <joe.hershberger@ni.com>
Tue, 7 Feb 2017 16:54:32 +0000 (10:54 -0600)
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>
include/net.h
net/eth_common.c

index 61568f6b319d107e332781f404b9c388ea23229e..c3bfb6378203ee3e48316b872cc8feeec8cad03f 100644 (file)
 
 /* 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 {
index 288090155e50bec54604def7b9ea85731c394735..e9d3c66741201f5ccfe321cf1431e3339f1ed18b 100644 (file)
@@ -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);