From bf3f35092ea96b33ceda33d497ec04514e94cb00 Mon Sep 17 00:00:00 2001 From: Spencer Oliver Date: Mon, 28 Jan 2013 11:45:51 +0000 Subject: [PATCH] helper: hexify correctly handle signed chars MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/helper/binarybuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helper/binarybuffer.c b/src/helper/binarybuffer.c index a90ec7b0..b3e44916 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; } -- 2.39.5