[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 4/7] tests/qtest: simplify qtest_process_inbuf
From: |
Alex Bennée |
Subject: |
[PATCH 4/7] tests/qtest: simplify qtest_process_inbuf |
Date: |
Mon, 20 Jan 2025 21:02:09 +0000 |
Don't both creating a GString to temporarily hold our qtest command.
Instead do a simpler g_strndup and use autofree to clean up
afterwards.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
system/qtest.c | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/system/qtest.c b/system/qtest.c
index e68ed0f2a8..bb1efba9fd 100644
--- a/system/qtest.c
+++ b/system/qtest.c
@@ -763,25 +763,21 @@ static void qtest_process_command(CharBackend *chr, gchar
**words)
}
}
+/*
+ * Process as much of @inbuf as we can in newline terminated chunks.
+ * Remove the processed commands from @inbuf as we go.
+ */
static void qtest_process_inbuf(CharBackend *chr, GString *inbuf)
{
char *end;
while ((end = strchr(inbuf->str, '\n')) != NULL) {
- size_t offset;
- GString *cmd;
- gchar **words;
-
- offset = end - inbuf->str;
+ size_t len = end - inbuf->str;
+ g_autofree char *cmd = g_strndup(inbuf->str, len);
+ g_auto(GStrv) words = g_strsplit(cmd, " ", 0);
- cmd = g_string_new_len(inbuf->str, offset);
- g_string_erase(inbuf, 0, offset + 1);
-
- words = g_strsplit(cmd->str, " ", 0);
+ g_string_erase(inbuf, 0, len + 1);
qtest_process_command(chr, words);
- g_strfreev(words);
-
- g_string_free(cmd, TRUE);
}
}
--
2.39.5
- [PATCH 0/7] testing/next (qtest timer stuff), Alex Bennée, 2025/01/20
- [PATCH 1/7] tests/docker: replicate the check-rust-tools-nightly CI job, Alex Bennée, 2025/01/20
- [PATCH 2/7] tests/qtest: don't attempt to clock_step while waiting for virtio ISR, Alex Bennée, 2025/01/20
- [PATCH 5/7] tests/qtest: rename qtest_send_prefix and roll-up into qtest_send, Alex Bennée, 2025/01/20
- [PATCH 4/7] tests/qtest: simplify qtest_process_inbuf,
Alex Bennée <=
- [PATCH 3/7] tests/qtest: don't step clock at start of npcm7xx periodic IRQ test, Alex Bennée, 2025/01/20
- [PATCH 6/7] tests/qtest: tighten up the checks on clock_step, Alex Bennée, 2025/01/20
- [PATCH 7/7] Revert "util/timer: avoid deadlock when shutting down", Alex Bennée, 2025/01/20
- Re: [PATCH 0/7] testing/next (qtest timer stuff), Thomas Huth, 2025/01/21
- Re: [PATCH 0/7] testing/next (qtest timer stuff), Fabiano Rosas, 2025/01/21