From 73266bf5538e2f65d716cfc33259ed585ea19a51 Mon Sep 17 00:00:00 2001 From: Martin Peach Date: Wed, 16 Nov 2011 18:54:16 +0000 Subject: Get 64-bit address to print as 16-characters with leading zeros. Eliminate compiler warnings about signed/unsigned characters in floatstring. svn path=/trunk/externals/mrpeach/; revision=15775 --- xbee/unpackxbee.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'xbee/unpackxbee.c') diff --git a/xbee/unpackxbee.c b/xbee/unpackxbee.c index 35f36e3..2e43c57 100644 --- a/xbee/unpackxbee.c +++ b/xbee/unpackxbee.c @@ -281,7 +281,11 @@ buf[9]: 214 [0xD6] addr64 |= x->x_message[16]; addr64 <<= 8; addr64 |= x->x_message[17]; - sprintf(floatstring, "0x%I64X", addr64); +#ifdef _MSC_VER + sprintf(floatstring, "0x%016I64X", addr64); +#else + sprintf(floatstring, "0x%016LX", addr64); +#endif SETSYMBOL(&x->x_statusbuf[statuslength], gensym(floatstring)); /* addr64 */ statuslength++; /* @@ -399,7 +403,11 @@ buf[28]: 36 [0x24] checksum addr64 |= x->x_message[i++]; addr64 <<= 8; addr64 |= x->x_message[i++]; - sprintf(floatstring, "0x%I64X", addr64); +#ifdef _MSC_VER + sprintf(floatstring, "0x%016I64X", addr64); +#else + sprintf(floatstring, "0x%016LX", addr64); +#endif SETSYMBOL(&x->x_statusbuf[statuslength], gensym(floatstring)); /* addr64 */ statuslength++; /* 16-bit source address */ -- cgit v1.2.1