aboutsummaryrefslogtreecommitdiff
path: root/xbee/unpackxbee.c
diff options
context:
space:
mode:
authorMartin Peach <mrpeach@users.sourceforge.net>2011-11-16 18:54:16 +0000
committerMartin Peach <mrpeach@users.sourceforge.net>2011-11-16 18:54:16 +0000
commit73266bf5538e2f65d716cfc33259ed585ea19a51 (patch)
tree0c1a73ceb52d1131a7c676bba68bd267eabfbf04 /xbee/unpackxbee.c
parent80a8589654414732a17e9e1063280b0847f17ba0 (diff)
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
Diffstat (limited to 'xbee/unpackxbee.c')
-rw-r--r--xbee/unpackxbee.c12
1 files changed, 10 insertions, 2 deletions
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 */