From ea45cb0adcf4baa8f939fea4c848f3e1906f19d9 Mon Sep 17 00:00:00 2001 From: Matthias Weisser Date: Sat, 3 Dec 2011 03:29:44 +0000 Subject: [PATCH] net: Make sure IPaddr_t is 32 bits in size When building u-boot as 64 bit application (e.g. sandbox) ulong might be 64 bits in size. This breaks network code as IPaddr_t is 64 bytes in size then and an IPv4 address is 32 bits in size. This patch makes sure that IPaddr_t is always 32 bits in size. Also some warnings introduced by this patch are fixed. Signed-off-by: Matthias Weisser Acked-by: Mike Frysinger --- include/net.h | 3 ++- net/net.c | 6 +++--- net/nfs.c | 2 +- net/tftp.c | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/include/net.h b/include/net.h index ad9afbf417..fa5d525f6d 100644 --- a/include/net.h +++ b/include/net.h @@ -33,7 +33,8 @@ #define PKTALIGN 32 -typedef ulong IPaddr_t; +/* IPv4 addresses are always 32 bits in size */ +typedef u32 IPaddr_t; /** diff --git a/net/net.c b/net/net.c index d0fe1c4960..045405b7a8 100644 --- a/net/net.c +++ b/net/net.c @@ -728,7 +728,7 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len) */ if (memcmp(ether, NetEtherNullAddr, 6) == 0) { - debug("sending ARP for %08lx\n", dest); + debug("sending ARP for %08x\n", dest); NetArpWaitPacketIP = dest; NetArpWaitPacketMAC = ether; @@ -751,7 +751,7 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len) return 1; /* waiting */ } - debug("sending UDP to %08lx/%pM\n", dest, ether); + debug("sending UDP to %08x/%pM\n", dest, ether); pkt = (uchar *)NetTxPacket; pkt += NetSetEther(pkt, ether, PROT_IP); @@ -775,7 +775,7 @@ int PingSend(void) memcpy(mac, NetEtherNullAddr, 6); - debug("sending ARP for %08lx\n", NetPingIP); + debug("sending ARP for %08x\n", NetPingIP); NetArpWaitPacketIP = NetPingIP; NetArpWaitPacketMAC = mac; diff --git a/net/nfs.c b/net/nfs.c index 5e717e3c6d..b5b482c3f3 100644 --- a/net/nfs.c +++ b/net/nfs.c @@ -688,7 +688,7 @@ NfsStart (void) } if (BootFile[0] == '\0') { - sprintf (default_filename, "/nfsroot/%02lX%02lX%02lX%02lX.img", + sprintf(default_filename, "/nfsroot/%02X%02X%02X%02X.img", NetOurIP & 0xFF, (NetOurIP >> 8) & 0xFF, (NetOurIP >> 16) & 0xFF, diff --git a/net/tftp.c b/net/tftp.c index 4999707387..7aa3e23c95 100644 --- a/net/tftp.c +++ b/net/tftp.c @@ -708,7 +708,7 @@ void TftpStart(enum proto_t protocol) TftpRemoteIP = NetServerIP; if (BootFile[0] == '\0') { - sprintf(default_filename, "%02lX%02lX%02lX%02lX.img", + sprintf(default_filename, "%02X%02X%02X%02X.img", NetOurIP & 0xFF, (NetOurIP >> 8) & 0xFF, (NetOurIP >> 16) & 0xFF, -- 2.25.1