[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 3/5] semihosting: don't send the trailing '\0'
From: |
Richard Henderson |
Subject: |
Re: [PATCH v1 3/5] semihosting: don't send the trailing '\0' |
Date: |
Fri, 17 Jul 2020 10:47:07 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
On 7/17/20 3:51 AM, Alex Bennée wrote:
> From: KONRAD Frederic <frederic.konrad@adacore.com>
>
> Don't send the trailing 0 from the string.
>
> Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Message-Id: <1592215252-26742-2-git-send-email-frederic.konrad@adacore.com>
> ---
> hw/semihosting/console.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> diff --git a/hw/semihosting/console.c b/hw/semihosting/console.c
> index 22e7827824a..9b4fee92602 100644
> --- a/hw/semihosting/console.c
> +++ b/hw/semihosting/console.c
> @@ -52,7 +52,9 @@ static GString *copy_user_string(CPUArchState *env,
> target_ulong addr)
>
> do {
> if (cpu_memory_rw_debug(cpu, addr++, &c, 1, 0) == 0) {
> - s = g_string_append_c(s, c);
> + if (c) {
> + s = g_string_append_c(s, c);
> + }
> } else {
> qemu_log_mask(LOG_GUEST_ERROR,
> "%s: passed inaccessible address " TARGET_FMT_lx,
>
Next cycle, we could clean up this loop a bit, rather than testing c != 0
twice. E.g.
while (1) {
if (cpu_memory_rw_debug(cpu, addr++, &c, 1, 0)) {
error;
break;
}
if (c == 0) {
break;
}
s = g_string_append_c(s, c);
}
r~
[PATCH v1 3/5] semihosting: don't send the trailing '\0', Alex Bennée, 2020/07/17
- Re: [PATCH v1 3/5] semihosting: don't send the trailing '\0',
Richard Henderson <=