gdbstub: Clean up process_string_cmd
Change 'process_string_cmd' to return true on success and false on failure, instead of 0 and -1. Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20240628050850.536447-2-gustavo.romero@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240705084047.857176-31-alex.bennee@linaro.org>
This commit is contained in:
parent
0f3974b64c
commit
0ef6b12e58
@ -962,14 +962,14 @@ static inline int startswith(const char *string, const char *pattern)
|
|||||||
return !strncmp(string, pattern, strlen(pattern));
|
return !strncmp(string, pattern, strlen(pattern));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int process_string_cmd(const char *data,
|
static bool process_string_cmd(const char *data,
|
||||||
const GdbCmdParseEntry *cmds, int num_cmds)
|
const GdbCmdParseEntry *cmds, int num_cmds)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
g_autoptr(GArray) params = g_array_new(false, true, sizeof(GdbCmdVariant));
|
g_autoptr(GArray) params = g_array_new(false, true, sizeof(GdbCmdVariant));
|
||||||
|
|
||||||
if (!cmds) {
|
if (!cmds) {
|
||||||
return -1;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < num_cmds; i++) {
|
for (i = 0; i < num_cmds; i++) {
|
||||||
@ -984,16 +984,16 @@ static int process_string_cmd(const char *data,
|
|||||||
if (cmd->schema) {
|
if (cmd->schema) {
|
||||||
if (cmd_parse_params(&data[strlen(cmd->cmd)],
|
if (cmd_parse_params(&data[strlen(cmd->cmd)],
|
||||||
cmd->schema, params)) {
|
cmd->schema, params)) {
|
||||||
return -1;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gdbserver_state.allow_stop_reply = cmd->allow_stop_reply;
|
gdbserver_state.allow_stop_reply = cmd->allow_stop_reply;
|
||||||
cmd->handler(params, NULL);
|
cmd->handler(params, NULL);
|
||||||
return 0;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void run_cmd_parser(const char *data, const GdbCmdParseEntry *cmd)
|
static void run_cmd_parser(const char *data, const GdbCmdParseEntry *cmd)
|
||||||
@ -1007,7 +1007,7 @@ static void run_cmd_parser(const char *data, const GdbCmdParseEntry *cmd)
|
|||||||
|
|
||||||
/* In case there was an error during the command parsing we must
|
/* In case there was an error during the command parsing we must
|
||||||
* send a NULL packet to indicate the command is not supported */
|
* send a NULL packet to indicate the command is not supported */
|
||||||
if (process_string_cmd(data, cmd, 1)) {
|
if (!process_string_cmd(data, cmd, 1)) {
|
||||||
gdb_put_packet("");
|
gdb_put_packet("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1523,7 +1523,7 @@ static void handle_v_commands(GArray *params, void *user_ctx)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (process_string_cmd(get_param(params, 0)->data,
|
if (!process_string_cmd(get_param(params, 0)->data,
|
||||||
gdb_v_commands_table,
|
gdb_v_commands_table,
|
||||||
ARRAY_SIZE(gdb_v_commands_table))) {
|
ARRAY_SIZE(gdb_v_commands_table))) {
|
||||||
gdb_put_packet("");
|
gdb_put_packet("");
|
||||||
@ -1889,13 +1889,13 @@ static void handle_gen_query(GArray *params, void *user_ctx)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!process_string_cmd(get_param(params, 0)->data,
|
if (process_string_cmd(get_param(params, 0)->data,
|
||||||
gdb_gen_query_set_common_table,
|
gdb_gen_query_set_common_table,
|
||||||
ARRAY_SIZE(gdb_gen_query_set_common_table))) {
|
ARRAY_SIZE(gdb_gen_query_set_common_table))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (process_string_cmd(get_param(params, 0)->data,
|
if (!process_string_cmd(get_param(params, 0)->data,
|
||||||
gdb_gen_query_table,
|
gdb_gen_query_table,
|
||||||
ARRAY_SIZE(gdb_gen_query_table))) {
|
ARRAY_SIZE(gdb_gen_query_table))) {
|
||||||
gdb_put_packet("");
|
gdb_put_packet("");
|
||||||
@ -1908,13 +1908,13 @@ static void handle_gen_set(GArray *params, void *user_ctx)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!process_string_cmd(get_param(params, 0)->data,
|
if (process_string_cmd(get_param(params, 0)->data,
|
||||||
gdb_gen_query_set_common_table,
|
gdb_gen_query_set_common_table,
|
||||||
ARRAY_SIZE(gdb_gen_query_set_common_table))) {
|
ARRAY_SIZE(gdb_gen_query_set_common_table))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (process_string_cmd(get_param(params, 0)->data,
|
if (!process_string_cmd(get_param(params, 0)->data,
|
||||||
gdb_gen_set_table,
|
gdb_gen_set_table,
|
||||||
ARRAY_SIZE(gdb_gen_set_table))) {
|
ARRAY_SIZE(gdb_gen_set_table))) {
|
||||||
gdb_put_packet("");
|
gdb_put_packet("");
|
||||||
|
Loading…
Reference in New Issue
Block a user