From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40914) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vom5G-0003bC-2n for qemu-devel@nongnu.org; Thu, 05 Dec 2013 22:28:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vom5A-00076D-Sa for qemu-devel@nongnu.org; Thu, 05 Dec 2013 22:28:06 -0500 Received: from omzsmtpe03.verizonbusiness.com ([199.249.25.208]:62332) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vom5A-000767-OE for qemu-devel@nongnu.org; Thu, 05 Dec 2013 22:28:00 -0500 From: Don Slutz Message-ID: <52A14361.9090109@terremark.com> Date: Thu, 5 Dec 2013 22:24:17 -0500 MIME-Version: 1.0 References: <1386268888-31920-1-git-send-email-sw@weilnetz.de> In-Reply-To: <1386268888-31920-1-git-send-email-sw@weilnetz.de> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] libcacard: Fix compilation for older versions of glib (bug #1258168) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil Cc: qemu-devel , Don Slutz , =?ISO-8859-1?Q?Marc-Andr=E9_Lureau?= , Anthony Liguori , Laurent Desnogues , Alon Levy On 12/05/13 13:41, Stefan Weil wrote: > See https://bugs.launchpad.net/bugs/1258168 This fixes the compile issue I have seen so Tested-by: Don Slutz -Don Slutz > libcacard/vscclient.c: In function 'do_socket_read': > libcacard/vscclient.c:410: warning: implicit declaration of function 'g_warn_if_reached' > libcacard/vscclient.c:410: warning: nested extern declaration of 'g_warn_if_reached' > libcacard/vscclient.c: In function 'main': > libcacard/vscclient.c:763: warning: implicit declaration of function 'g_byte_array_unref' > libcacard/vscclient.c:763: warning: nested extern declaration of 'g_byte_array_unref' > ... > libcacard/vscclient.o: In function `do_socket_read': > libcacard/vscclient.c:410: undefined reference to `g_warn_if_reached' > libcacard/vscclient.o: In function `main': > libcacard/vscclient.c:763: undefined reference to `g_byte_array_unref' > > g_warn_if_reached was added in glib 2.16, and g_byte_array_unref is > supported since glib 2.22. QEMU requires glib 2.12, so both names must > not be used. > > Instead of showing a warning for code which should not be reached, QEMU > better stops running, so g_warn_if_reached is not useful for QEMU. > > In libcacard/vsclient.c, g_byte_array_unref can be replaced by > g_byte_array_free. This is not generally true, so adding a compatibility > layer in include/glib-compat.h is no option here. > > Reported-by: Laurent Desnogues > Reported-by: Don Slutz > Signed-off-by: Stefan Weil > --- > > v2: Fix commit message and add missing parameter for g_byte_array_free. > > libcacard/vscclient.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libcacard/vscclient.c b/libcacard/vscclient.c > index a3cb776..f1d46d3 100644 > --- a/libcacard/vscclient.c > +++ b/libcacard/vscclient.c > @@ -407,7 +407,7 @@ do_socket_read(GIOChannel *source, > } > break; > default: > - g_warn_if_reached(); > + g_assert_not_reached(); > return FALSE; > } > > @@ -760,7 +760,7 @@ main( > > g_io_channel_unref(channel_stdin); > g_io_channel_unref(channel_socket); > - g_byte_array_unref(socket_to_send); > + g_byte_array_free(socket_to_send, TRUE); > > closesocket(sock); > return 0;