helper: Code cleanup for hexify()
Simplify hexify() and do not longer use 0 as special case for the parameter 'count' to determine the string length of the binary input. Instead, use strlen() outside of the function if needed. Additionally, fix the return value and return the length of the converted string. The old function always returned 2 * count. Also, use more appropriate data types for the function parameters and add a small documentation. Change-Id: I133a8ab786b8f7c1296afcaf9c0a0b43881e5112 Signed-off-by: Marc Schink <openocd-dev@marcschink.de> Reviewed-on: http://openocd.zylin.com/3793 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
This commit is contained in:
committed by
Paul Fertser
parent
1461237073
commit
69ff7354d9
@@ -242,7 +242,8 @@ static int icdi_send_remote_cmd(void *handle, const char *data)
|
||||
struct icdi_usb_handle_s *h = handle;
|
||||
|
||||
size_t cmd_len = sprintf(h->write_buffer, PACKET_START "qRcmd,");
|
||||
cmd_len += hexify(h->write_buffer + cmd_len, data, 0, h->max_packet - cmd_len);
|
||||
cmd_len += hexify(h->write_buffer + cmd_len, (const uint8_t *)data,
|
||||
strlen(data), h->max_packet - cmd_len);
|
||||
|
||||
return icdi_send_packet(handle, cmd_len);
|
||||
}
|
||||
@@ -512,7 +513,7 @@ static int icdi_usb_write_reg(void *handle, int num, uint32_t val)
|
||||
h_u32_to_le(buf, val);
|
||||
|
||||
int cmd_len = snprintf(cmd, sizeof(cmd), "P%x=", num);
|
||||
hexify(cmd + cmd_len, (const char *)buf, 4, sizeof(cmd));
|
||||
hexify(cmd + cmd_len, buf, 4, sizeof(cmd));
|
||||
|
||||
result = icdi_send_cmd(handle, cmd);
|
||||
if (result != ERROR_OK)
|
||||
|
||||
Reference in New Issue
Block a user