Check return values to avoid infinite wait in loop on error.
[fw/openocd] / src / target / target_request.c
index cbc4e091125784b9682dfb49c2f7e24551b32328..5bfd57a429d0d41a75d6dbc7ddb82cfdb90ae438 100644 (file)
@@ -2,7 +2,7 @@
  *   Copyright (C) 2007 by Dominic Rath                                    *
  *   Dominic.Rath@gmx.de                                                   *
  *                                                                         *
- *   Copyright (C) 2007,2008 Øyvind Harboe                                 *
+ *   Copyright (C) 2007,2008 Øyvind Harboe                                 *
  *   oyvind.harboe@zylin.com                                               *
  *                                                                         *
  *   Copyright (C) 2008 by Spencer Oliver                                  *
 static command_t *target_request_cmd = NULL;
 static int charmsg_mode = 0;
 
-static int target_asciimsg(target_t *target, u32 length)
+static int target_asciimsg(target_t *target, uint32_t length)
 {
        char *msg = malloc(CEIL(length + 1, 4) * 4);
        debug_msg_receiver_t *c = target->dbgmsg;
 
-       target->type->target_request_data(target, CEIL(length, 4), (u8*)msg);
+       target->type->target_request_data(target, CEIL(length, 4), (uint8_t*)msg);
        msg[length] = 0;
 
        LOG_DEBUG("%s", msg);
@@ -56,24 +56,24 @@ static int target_asciimsg(target_t *target, u32 length)
        return ERROR_OK;
 }
 
-static int target_charmsg(target_t *target, u8 msg)
+static int target_charmsg(target_t *target, uint8_t msg)
 {
        LOG_USER_N("%c", msg);
 
        return ERROR_OK;
 }
 
-static int target_hexmsg(target_t *target, int size, u32 length)
+static int target_hexmsg(target_t *target, int size, uint32_t length)
 {
-       u8 *data = malloc(CEIL(length * size, 4) * 4);
+       uint8_t *data = malloc(CEIL(length * size, 4) * 4);
        char line[128];
        int line_len;
        debug_msg_receiver_t *c = target->dbgmsg;
-       u32 i;
+       uint32_t i;
 
-       LOG_DEBUG("size: %i, length: %i", size, length);
+       LOG_DEBUG("size: %i, length: %i", (int)size, (int)length);
 
-       target->type->target_request_data(target, CEIL(length * size, 4), (u8*)data);
+       target->type->target_request_data(target, CEIL(length * size, 4), (uint8_t*)data);
 
        line_len = 0;
        for (i = 0; i < length; i++)
@@ -81,7 +81,7 @@ static int target_hexmsg(target_t *target, int size, u32 length)
                switch (size)
                {
                        case 4:
-                               line_len += snprintf(line + line_len, 128 - line_len, "%8.8x ", le_to_h_u32(data + (4*i)));
+                               line_len += snprintf(line + line_len, 128 - line_len, "%8.8" PRIx32 " ", le_to_h_u32(data + (4*i)));
                                break;
                        case 2:
                                line_len += snprintf(line + line_len, 128 - line_len, "%4.4x ", le_to_h_u16(data + (2*i)));
@@ -113,12 +113,12 @@ static int target_hexmsg(target_t *target, int size, u32 length)
 /* handle requests from the target received by a target specific
  * side-band channel (e.g. ARM7/9 DCC)
  */
-int target_request(target_t *target, u32 request)
+int target_request(target_t *target, uint32_t request)
 {
        target_req_cmd_t target_req_cmd = request & 0xff;
 
-       if ( charmsg_mode ) {
-               target_charmsg(target, target_req_cmd );
+       if (charmsg_mode) {
+               target_charmsg(target, target_req_cmd);
                return ERROR_OK;
        }
        switch (target_req_cmd)
@@ -295,7 +295,7 @@ static int handle_target_request_debugmsgs_command(struct command_context_s *cmd
        }
 
        command_print(cmd_ctx, "receiving debug messages from current target %s",
-                     (receiving) ? (charmsg_mode?"charmsg":"enabled") : "disabled" );
+                     (receiving) ? (charmsg_mode?"charmsg":"enabled") : "disabled");
        return ERROR_OK;
 }