summaryrefslogtreecommitdiff
path: root/gpsmon.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2013-11-17 16:00:56 -0500
committerEric S. Raymond <esr@thyrsus.com>2013-11-17 16:00:56 -0500
commit32c484e2061cd7993b5d693a9cbe2bda91babd5d (patch)
tree182e4f72e8bf28d4973465fe476724fc2087bf9b /gpsmon.c
parentbb23daaa007705d0751e3c386da4a0fb542a91a1 (diff)
downloadgpsd-32c484e2061cd7993b5d693a9cbe2bda91babd5d.tar.gz
Stomp a sign-extension bug.
Diffstat (limited to 'gpsmon.c')
-rw-r--r--gpsmon.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gpsmon.c b/gpsmon.c
index f61d684c..d56ff249 100644
--- a/gpsmon.c
+++ b/gpsmon.c
@@ -169,7 +169,7 @@ static void visibilize(/*@out@*/char *buf2, size_t len2, const char *buf)
(void)snprintf(buf2 + strlen(buf2), 2, "%c", *sp);
else
(void)snprintf(buf2 + strlen(buf2), 6, "\\x%02x",
- 0x00ff & (unsigned)*sp);
+ (unsigned)(*sp & 0xff));
}
/*@-compdef -mustdefine@*/
@@ -190,14 +190,14 @@ static void cond_hexdump(/*@out@*/char *buf2, size_t len2,
buf2[j] = '\0';
}
else {
- (void)snprintf(&buf2[j], len2-strlen(buf2), "\\x%02x", (unsigned int)buf[i]);
+ (void)snprintf(&buf2[j], len2-strlen(buf2), "\\x%02x", (unsigned int)(buf[i] & 0xff));
j = strlen(buf2);
}
} else {
buf2[0] = '\0';
for (i = 0; i < len; i++)
(void)snprintf(buf2 + strlen(buf2), len2 - strlen(buf2),
- "%02x", (unsigned int)buf[i]);
+ "%02x", (unsigned int)(buf[i] & 0xff));
}
}
/*@+compdef +mustdefine@*/