From: Spencer Oliver Date: Mon, 28 Jan 2013 11:45:51 +0000 (+0000) Subject: helper: hexify correctly handle signed chars X-Git-Tag: v0.7.0-rc1~89 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=bf3f35092ea96b33ceda33d497ec04514e94cb00 helper: hexify correctly handle signed chars The current implementation of hexify was not correctly handling signed chars. This function is currently used by the ti-icdi driver and as such was causing random write issues. As a note perhaps a better long term fix would be to change to using uint8_t buffers rather than char. This will require changes to the ti-icdi driver aswell. Change-Id: I572e69ff2b99227a7d412de056458c0393794b03 Signed-off-by: Spencer Oliver Reviewed-on: http://openocd.zylin.com/1124 Tested-by: jenkins Reviewed-by: Øyvind Harboe --- diff --git a/src/helper/binarybuffer.c b/src/helper/binarybuffer.c index a90ec7b01e..b3e44916aa 100644 --- a/src/helper/binarybuffer.c +++ b/src/helper/binarybuffer.c @@ -393,7 +393,7 @@ int hexify(char *hex, const char *bin, int count, int out_maxlen) count = strlen(bin); for (i = 0; i < count; i++) - cmd_len += snprintf(hex + cmd_len, out_maxlen - cmd_len, "%02x", bin[i]); + cmd_len += snprintf(hex + cmd_len, out_maxlen - cmd_len, "%02x", bin[i] & 0xff); return cmd_len; }