From 9b2577742cc49683ab0ea8506d93e3e285b53bbd Mon Sep 17 00:00:00 2001 From: Christian Eggers Date: Fri, 14 Feb 2014 21:48:52 +0100 Subject: Constify received GDB packet v2: - Split work into separate patches The received packet will not be altered in any of the processing functions. Some it can be made "const". Change-Id: I7bb410224cf6daa74a6c494624176ccb9ae638ac Signed-off-by: Christian Eggers Reviewed-on: http://openocd.zylin.com/1919 Tested-by: jenkins Reviewed-by: Spencer Oliver --- src/server/gdb_server.c | 52 ++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) (limited to 'src/server') diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index 0b28287d..d4cc2744 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -1044,7 +1044,7 @@ static void gdb_send_error(struct connection *connection, uint8_t the_error) } static int gdb_last_signal_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); struct gdb_connection *gdb_con = connection->priv; @@ -1101,7 +1101,7 @@ static void gdb_str_to_target(struct target *target, /* copy over in register buffer */ static void gdb_target_to_reg(struct target *target, - char *tstr, int str_len, uint8_t *bin) + char const *tstr, int str_len, uint8_t *bin) { if (str_len % 2) { LOG_ERROR("BUG: gdb value with uneven number of characters encountered"); @@ -1122,7 +1122,7 @@ static void gdb_target_to_reg(struct target *target, } static int gdb_get_registers_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); struct reg **reg_list; @@ -1178,14 +1178,14 @@ static int gdb_get_registers_packet(struct connection *connection, } static int gdb_set_registers_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); int i; struct reg **reg_list; int reg_list_size; int retval; - char *packet_p; + char const *packet_p; #ifdef _DEBUG_GDB_IO_ LOG_DEBUG("-"); @@ -1233,7 +1233,7 @@ static int gdb_set_registers_packet(struct connection *connection, } static int gdb_get_register_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); char *reg_packet; @@ -1272,7 +1272,7 @@ static int gdb_get_register_packet(struct connection *connection, } static int gdb_set_register_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); char *separator; @@ -1338,7 +1338,7 @@ static int gdb_error(struct connection *connection, int retval) * 8191 bytes by the looks of it. Why 8191 bytes instead of 8192????? */ static int gdb_read_memory_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); char *separator; @@ -1409,7 +1409,7 @@ static int gdb_read_memory_packet(struct connection *connection, } static int gdb_write_memory_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); char *separator; @@ -1456,7 +1456,7 @@ static int gdb_write_memory_packet(struct connection *connection, } static int gdb_write_memory_binary_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); char *separator; @@ -1513,7 +1513,7 @@ static int gdb_write_memory_binary_packet(struct connection *connection, } static int gdb_step_continue_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); int current = 0; @@ -1541,7 +1541,7 @@ static int gdb_step_continue_packet(struct connection *connection, } static int gdb_breakpoint_watchpoint_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); int type; @@ -1669,7 +1669,7 @@ static void xml_printf(int *retval, char **xml, int *pos, int *size, } } -static int decode_xfer_read(char *_buf, char **annex, int *ofs, unsigned int *len) +static int decode_xfer_read(char const *_buf, char **annex, int *ofs, unsigned int *len) { int ret = 0; char *buf = strdup(_buf); @@ -1721,7 +1721,7 @@ static int compare_bank(const void *a, const void *b) } static int gdb_memory_map(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { /* We get away with only specifying flash here. Regions that are not * specified are treated as if we provided no memory map(if not we @@ -2265,7 +2265,7 @@ error: } static int gdb_query_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct command_context *cmd_ctx = connection->cmd_ctx; struct gdb_connection *gdb_connection = connection->priv; @@ -2414,7 +2414,7 @@ static int gdb_query_packet(struct connection *connection, } static int gdb_v_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct gdb_connection *gdb_connection = connection->priv; struct gdb_service *gdb_service = connection->service->priv; @@ -2431,20 +2431,20 @@ static int gdb_v_packet(struct connection *connection, unsigned long addr; unsigned long length; - char *parse = packet + 12; + char const *parse = packet + 12; if (*parse == '\0') { LOG_ERROR("incomplete vFlashErase packet received, dropping connection"); return ERROR_SERVER_REMOTE_CLOSED; } - addr = strtoul(parse, &parse, 16); + addr = strtoul(parse, (char **)&parse, 16); if (*(parse++) != ',' || *parse == '\0') { LOG_ERROR("incomplete vFlashErase packet received, dropping connection"); return ERROR_SERVER_REMOTE_CLOSED; } - length = strtoul(parse, &parse, 16); + length = strtoul(parse, (char **)&parse, 16); if (*parse != '\0') { LOG_ERROR("incomplete vFlashErase packet received, dropping connection"); @@ -2487,13 +2487,13 @@ static int gdb_v_packet(struct connection *connection, int retval; unsigned long addr; unsigned long length; - char *parse = packet + 12; + char const *parse = packet + 12; if (*parse == '\0') { LOG_ERROR("incomplete vFlashErase packet received, dropping connection"); return ERROR_SERVER_REMOTE_CLOSED; } - addr = strtoul(parse, &parse, 16); + addr = strtoul(parse, (char **)&parse, 16); if (*(parse++) != ':') { LOG_ERROR("incomplete vFlashErase packet received, dropping connection"); return ERROR_SERVER_REMOTE_CLOSED; @@ -2508,7 +2508,7 @@ static int gdb_v_packet(struct connection *connection, /* create new section with content from packet buffer */ retval = image_add_section(gdb_connection->vflash_image, - addr, length, 0x0, (uint8_t *)parse); + addr, length, 0x0, (uint8_t const *)parse); if (retval != ERROR_OK) return retval; @@ -2560,7 +2560,7 @@ static int gdb_detach(struct connection *connection) * Fretcode,errno,Ctrl-C flag;call-specific attachment */ static int gdb_fileio_response_packet(struct connection *connection, - char *packet, int packet_size) + char const *packet, int packet_size) { struct target *target = get_target_from_connection(connection); char *separator; @@ -2632,7 +2632,7 @@ static int gdb_input_inner(struct connection *connection) struct gdb_service *gdb_service = connection->service->priv; struct target *target = gdb_service->target; - char *packet = gdb_packet_buffer; + char const *packet = gdb_packet_buffer; int packet_size; int retval; struct gdb_connection *gdb_con = connection->priv; @@ -2651,12 +2651,12 @@ static int gdb_input_inner(struct connection *connection) */ do { packet_size = GDB_BUFFER_SIZE-1; - retval = gdb_get_packet(connection, packet, &packet_size); + retval = gdb_get_packet(connection, gdb_packet_buffer, &packet_size); if (retval != ERROR_OK) return retval; /* terminate with zero */ - packet[packet_size] = 0; + gdb_packet_buffer[packet_size] = '\0'; if (LOG_LEVEL_IS(LOG_LVL_DEBUG)) { if (packet[0] == 'X') { -- cgit v1.2.3-18-g5258