From: Paul Fertser Date: Mon, 8 Jul 2013 06:10:19 +0000 (+0400) Subject: oocd_trace: fix warnings X-Git-Tag: v0.8.0-rc1~371 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=2d146a93217239b0f869aea5c6cae57a27db6744 oocd_trace: fix warnings gcc (Gentoo Hardened 4.6.3 p1.13) produces a warning about the variable assigned but not used. write() can sometimes write less than the specified count so it's marked with warn_unused_result in the system headers and its return value can't be ignored. The most correct solution would be to have a loop writing the buffer until all bytes are written or an error is returned but here it's impractical. Change-Id: I75f7482e2b26fe0e6d70d34947518d3a8f0afe5c Signed-off-by: Paul Fertser Reviewed-on: http://openocd.zylin.com/1490 Reviewed-by: Laszlo Papp Tested-by: jenkins Reviewed-by: Spencer Oliver --- diff --git a/src/target/oocd_trace.c b/src/target/oocd_trace.c index 2969cc1e11..e723efe046 100644 --- a/src/target/oocd_trace.c +++ b/src/target/oocd_trace.c @@ -38,6 +38,8 @@ static int oocd_trace_read_reg(struct oocd_trace *oocd_trace, int reg, uint32_t cmd = 0x10 | (reg & 0x7); bytes_written = write(oocd_trace->tty_fd, &cmd, 1); + if (bytes_written < 1) + return ERROR_FAIL; bytes_to_read = 4; while (bytes_to_read > 0) { @@ -62,6 +64,9 @@ static int oocd_trace_write_reg(struct oocd_trace *oocd_trace, int reg, uint32_t data[4] = (value & 0xff000000) >> 24; bytes_written = write(oocd_trace->tty_fd, data, 5); + if (bytes_written < 5) + return ERROR_FAIL; + LOG_DEBUG("reg #%i: 0x%8.8x", reg, value); return ERROR_OK; @@ -78,6 +83,8 @@ static int oocd_trace_read_memory(struct oocd_trace *oocd_trace, uint8_t *data, cmd = 0x20; bytes_written = write(oocd_trace->tty_fd, &cmd, 1); + if (bytes_written < 1) + return ERROR_FAIL; bytes_to_read = size * 16; while (bytes_to_read > 0) { @@ -358,6 +365,8 @@ COMMAND_HANDLER(handle_oocd_trace_resync_command) cmd_array[0] = 0xf0; bytes_written = write(oocd_trace->tty_fd, cmd_array, 1); + if (bytes_written < 1) + return ERROR_FAIL; command_print(CMD_CTX, "requesting traceclock resync"); LOG_DEBUG("resyncing traceclk pll");