]> git.sur5r.net Git - openocd/blobdiff - src/rtos/rtos.c
Fix off by one bug in FreeRTOS
[openocd] / src / rtos / rtos.c
index 818a97937a6be832e69f351736bf2b062fced84f..74e8724e3ffe6e85110ee99c4a65061bc66a1263 100644 (file)
@@ -128,8 +128,10 @@ int rtos_create(Jim_GetOptInfo *goi, struct target * target)
 
 
 
-int gdb_thread_packet(struct connection *connection, struct target *target, char *packet, int packet_size)
+int gdb_thread_packet(struct connection *connection, char *packet, int packet_size)
 {
+       struct target *target = get_target_from_connection(connection);
+
        if (strstr(packet, "qP"))
        {
                #define TAG_THREADID 1          /* Echo the thread identifier */
@@ -314,15 +316,14 @@ int gdb_thread_packet(struct connection *connection, struct target *target, char
                                int symbol_num;
 
                                char* found = strstr( packet, "qSymbol::" );
-                               int numconv;
                                if (0 == found )
                                {
-                                       numconv =sscanf(packet, "qSymbol:%" SCNx64 ":%s", &value, hex_name_str);
+                                       sscanf(packet, "qSymbol:%" SCNx64 ":%s", &value, hex_name_str);
                                }
                                else
                                {
                                        // No value returned by GDB - symbol was not found
-                                       numconv =sscanf(packet, "qSymbol::%s", hex_name_str);
+                                       sscanf(packet, "qSymbol::%s", hex_name_str);
                                }
                                name_str = (char*) malloc( 1+ strlen(hex_name_str) / 2 );
 
@@ -502,8 +503,10 @@ int gdb_thread_packet(struct connection *connection, struct target *target, char
        return GDB_THREAD_PACKET_NOT_CONSUMED;
 }
 
-int rtos_get_gdb_reg_list(struct connection *connection, struct target *target, struct reg **reg_list[], int *reg_list_size)
+int rtos_get_gdb_reg_list(struct connection *connection, struct reg **reg_list[], int *reg_list_size)
 {
+       struct target *target = get_target_from_connection(connection);
+
        if ( ( target->rtos != NULL ) &&
                 ( current_threadid != -1 ) &&
                 ( current_threadid != 0 ) &&