[Libguestfs] two more warning-avoidance patches

Jim Meyering jim at meyering.net
Mon Aug 17 16:49:36 UTC 2009


>From 9e99a1c6cb655a56d7f09dabd10a77a3802bf96d Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering at redhat.com>
Date: Mon, 17 Aug 2009 18:44:37 +0200
Subject: [PATCH libguestfs 1/2] avoid compiler warnings about unused vars in generated code

* src/Makefile.am: Compile protocol.c into a convenience library, so it
can have its own CFLAGS, and link that with the destination one.
---
 src/Makefile.am |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index c6006d2..9eb71b9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -48,6 +48,14 @@ BUILT_SOURCES = \
   guestfs-actions.c \
   guestfs-bindtests.c

+# This convenience library is solely to avoid compiler warnings
+# in its generated sources.
+libprotocol_la_SOURCES = \
+  guestfs_protocol.c \
+  guestfs_protocol.h
+
+libprotocol_la_CFLAGS = -Wall -Wno-unused
+
 $(BUILT_SOURCES): stamp-generator

 CLEANFILES = guestfs_protocol.c guestfs_protocol.h
@@ -98,13 +106,15 @@ libguestfs_la_LDFLAGS = -version-info $(MAX_PROC_NR):0:$(MAX_PROC_NR)
 libguestfs_la_SOURCES = \
 	guestfs.c \
 	guestfs.h \
-	guestfs_protocol.c \
-	guestfs_protocol.h \
 	guestfs-actions.h \
 	guestfs-actions.c \
 	guestfs-bindtests.c \
 	gettext.h

+# Make libguestfs include the convenience library.
+noinst_LTLIBRARIES = libprotocol.la
+libguestfs_la_LIBADD = libprotocol.la
+
 libguestfs_la_CFLAGS = -Wall -DGUESTFS_DEFAULT_PATH='"$(libdir)/guestfs"'

 if HAVE_RPCGEN
--
1.6.4.378.g88f2f


>From ab84f9a78034249f37861e00e474018b8f750df2 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering at redhat.com>
Date: Mon, 17 Aug 2009 18:47:46 +0200
Subject: [PATCH libguestfs 2/2] generator.ml: avoid warnings in generated tests.c

* src/generator.ml: Avoid warnings in generated tests.c, regarding
print_strings, and in exercising any function that takes a StringList
or DeviceList parameter.
(print_strings): Change param type to "char *const *s".
Declare fully-const initializer for each list-taking function use.
Cast *List argument to "(char **)".
---
 src/generator.ml |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/generator.ml b/src/generator.ml
index ad4c0cb..ac01a98 100755
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -5274,7 +5274,7 @@ static void print_error (guestfs_h *g, void *data, const char *msg)
 }

 /* FIXME: nearly identical code appears in fish.c */
-static void print_strings (char const *const *argv)
+static void print_strings (char *const *argv)
 {
   int argc;

@@ -5869,7 +5869,7 @@ and generate_test_command_call ?(expect_error = false) ?test test_name cmd =
               fun i str ->
                 pr "    const char *%s_%d = \"%s\";\n" n i (c_quote str);
             ) strs;
-            pr "    const char *%s[] = {\n" n;
+            pr "    const char *const %s[] = {\n" n;
             iteri (
               fun i _ -> pr "      %s_%d,\n" n i
             ) strs;
@@ -5912,7 +5912,7 @@ and generate_test_command_call ?(expect_error = false) ?test test_name cmd =
         | FileIn _, arg | FileOut _, arg ->
             pr ", \"%s\"" (c_quote arg)
         | StringList n, _ | DeviceList n, _ ->
-            pr ", %s" n
+            pr ", (char **) %s" n
         | Int _, arg ->
             let i =
               try int_of_string arg
@@ -9019,7 +9019,7 @@ and generate_bindtests () =
 #define safe_malloc guestfs_safe_malloc

 static void
-print_strings (char * const* const argv)
+print_strings (char *const *argv)
 {
   int argc;

--
1.6.4.378.g88f2f




More information about the Libguestfs mailing list