forked from auracaster/openocd
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 <ceggers@gmx.de> Reviewed-on: http://openocd.zylin.com/1919 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
committed by
Spencer Oliver
parent
537b06a810
commit
9b2577742c
@@ -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') {
|
||||
|
||||
Reference in New Issue
Block a user