From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54586) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VjT9n-0005Th-03 for qemu-devel@nongnu.org; Thu, 21 Nov 2013 07:14:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VjT9e-0006s7-3j for qemu-devel@nongnu.org; Thu, 21 Nov 2013 07:14:50 -0500 Received: from mx1.redhat.com ([209.132.183.28]:61292) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VjT9d-0006rt-SB for qemu-devel@nongnu.org; Thu, 21 Nov 2013 07:14:42 -0500 Date: Thu, 21 Nov 2013 14:17:51 +0200 From: "Michael S. Tsirkin" Message-ID: <1385036128-8753-1-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH for-1.7 1/2] acpi-build: fix build on glib < 2.22 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Richard Henderson , Anthony Liguori 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 Signed-off-by: Michael S. Tsirkin --- 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 */ -- MST