Pass the matches array to parse_vaddr_match(), so future address matches can reuse that function.
Signed-off-by: Sven Schnelle <sv...@stackframe.org> --- contrib/plugins/execlog.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/contrib/plugins/execlog.c b/contrib/plugins/execlog.c index 90da1911b2..b4b5ba113c 100644 --- a/contrib/plugins/execlog.c +++ b/contrib/plugins/execlog.c @@ -206,14 +206,14 @@ static void parse_insn_match(char *match) g_ptr_array_add(imatches, match); } -static void parse_vaddr_match(char *match) +static void parse_vaddr_match(GArray **matches, char *match) { uint64_t v = g_ascii_strtoull(match, NULL, 16); - if (!amatches) { - amatches = g_array_new(false, true, sizeof(uint64_t)); + if (!matches) { + *matches = g_array_new(false, true, sizeof(uint64_t)); } - g_array_append_val(amatches, v); + g_array_append_val(*matches, v); } /** @@ -239,7 +239,7 @@ QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t id, if (g_strcmp0(tokens[0], "ifilter") == 0) { parse_insn_match(tokens[1]); } else if (g_strcmp0(tokens[0], "afilter") == 0) { - parse_vaddr_match(tokens[1]); + parse_vaddr_match(&amatches, tokens[1]); } else { fprintf(stderr, "option parsing failed: %s\n", opt); return -1; -- 2.43.2