[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-1.7 1/2] acpi-build: fix build on glib < 2.2
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH for-1.7 1/2] acpi-build: fix build on glib < 2.22 |
Date: |
Thu, 21 Nov 2013 14:51:44 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 21/11/2013 13:17, Michael S. Tsirkin ha scritto:
> g_string_vprintf was only introduced in 2.24 so switch to vsnprintf
> instead. A bit uglier but name size is fixed at 4 bytes here so it's
> easy.
>
> Reported-by: Richard Henderson <address@hidden>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> ---
> hw/i386/acpi-build.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index 486e705..59a17df 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -287,16 +287,17 @@ static inline void build_append_array(GArray *array,
> GArray *val)
>
> static void build_append_nameseg(GArray *array, const char *format, ...)
> {
> - GString *s = g_string_new("");
> + /* It would be nicer to use g_string_vprintf but it's only there in 2.22
> */
> + char s[] = "XXXX";
> + int len;
> va_list args;
>
> va_start(args, format);
> - g_string_vprintf(s, format, args);
> + len = vsnprintf(s, sizeof s, format, args);
> va_end(args);
>
> - assert(s->len == 4);
> - g_array_append_vals(array, s->str, s->len);
> - g_string_free(s, true);
> + assert(len == 4);
> + g_array_append_vals(array, s, len);
> }
>
> /* 5.4 Definition Block Encoding */
>
Reviewed-by: Paolo Bonzini <address@hidden>