summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/helper/log.c10
-rw-r--r--src/server/gdb_server.c2
-rw-r--r--src/target/target.c2
3 files changed, 7 insertions, 7 deletions
diff --git a/src/helper/log.c b/src/helper/log.c
index cdd7b7bf..b3898723 100644
--- a/src/helper/log.c
+++ b/src/helper/log.c
@@ -60,8 +60,6 @@ static int count = 0;
*/
static void log_puts(enum log_levels level, const char *file, int line, const char *function, const char *string)
{
- log_callback_t *cb;
-
if (level == LOG_OUTPUT)
{
/* do not prepend any headers, just print out what we were given and return */
@@ -98,10 +96,14 @@ static void log_puts(enum log_levels level, const char *file, int line, const ch
/* Never forward LOG_DEBUG, too verbose and they can be found in the log if need be */
if (level <= LOG_INFO)
{
- log_callback_t *cb;
- for (cb = log_callbacks; cb; cb = cb->next)
+ log_callback_t *cb, *next;
+ cb = log_callbacks;
+ /* DANGER!!!! the log callback can remove itself!!!! */
+ while (cb)
{
+ next=cb->next;
cb->fn(cb->priv, file, line, function, string);
+ cb=next;
}
}
}
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index 9558aef9..74722e10 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -529,7 +529,7 @@ int gdb_output_con(connection_t *connection, const char* line)
int gdb_output(struct command_context_s *context, char* line)
{
/* this will be dumped to the log and also sent as an O packet if possible */
- USER_N(line);
+ USER_N("%s", line);
return ERROR_OK;
}
diff --git a/src/target/target.c b/src/target/target.c
index 377bb0dc..76f7449b 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -1698,8 +1698,6 @@ int handle_resume_command(struct command_context_s *cmd_ctx, char *cmd, char **a
target_process_events(cmd_ctx);
- target_arch_state(target);
-
return retval;
}