mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
trace: convert code to use event iterators
This converts the HMP/QMP monitor API implementations and some internal trace control methods to use the new trace event iterator APIs. Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Reviewed-by: Lluís Vilanova <vilanova@ac.upc.edu> Message-id: 1475588159-30598-5-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
6a1b0f3aea
commit
0d4e995c73
4 changed files with 69 additions and 58 deletions
26
monitor.c
26
monitor.c
|
@ -3330,13 +3330,14 @@ void info_trace_events_completion(ReadLineState *rs, int nb_args, const char *st
|
|||
len = strlen(str);
|
||||
readline_set_completion_index(rs, len);
|
||||
if (nb_args == 2) {
|
||||
TraceEventID id;
|
||||
for (id = 0; id < trace_event_count(); id++) {
|
||||
const char *event_name = trace_event_get_name(trace_event_id(id));
|
||||
if (!strncmp(str, event_name, len)) {
|
||||
readline_add_completion(rs, event_name);
|
||||
}
|
||||
TraceEventIter iter;
|
||||
TraceEvent *ev;
|
||||
char *pattern = g_strdup_printf("%s*", str);
|
||||
trace_event_iter_init(&iter, pattern);
|
||||
while ((ev = trace_event_iter_next(&iter)) != NULL) {
|
||||
readline_add_completion(rs, trace_event_get_name(ev));
|
||||
}
|
||||
g_free(pattern);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3347,13 +3348,14 @@ void trace_event_completion(ReadLineState *rs, int nb_args, const char *str)
|
|||
len = strlen(str);
|
||||
readline_set_completion_index(rs, len);
|
||||
if (nb_args == 2) {
|
||||
TraceEventID id;
|
||||
for (id = 0; id < trace_event_count(); id++) {
|
||||
const char *event_name = trace_event_get_name(trace_event_id(id));
|
||||
if (!strncmp(str, event_name, len)) {
|
||||
readline_add_completion(rs, event_name);
|
||||
}
|
||||
TraceEventIter iter;
|
||||
TraceEvent *ev;
|
||||
char *pattern = g_strdup_printf("%s*", str);
|
||||
trace_event_iter_init(&iter, pattern);
|
||||
while ((ev = trace_event_iter_next(&iter)) != NULL) {
|
||||
readline_add_completion(rs, trace_event_get_name(ev));
|
||||
}
|
||||
g_free(pattern);
|
||||
} else if (nb_args == 3) {
|
||||
add_completion_option(rs, str, "on");
|
||||
add_completion_option(rs, str, "off");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue