[libdmapsharing/LIBDMAPSHARING_3_0] Fix more warnings after adding --enable-more-warnings configure option



commit 96b9a5b8c722eb883a5beadd5306616d9af3bad2
Author: W. Michael Petullo <mike flyn org>
Date:   Fri Jul 3 14:37:16 2020 -0500

    Fix more warnings after adding --enable-more-warnings configure option
    
    Closes #34.

 .gitignore                                 |  1 +
 configure.ac                               | 53 ++++++++++++++++++++++++++++++
 libdmapsharing/Makefile.am                 |  7 ++--
 libdmapsharing/dacp-share.c                |  6 ++--
 libdmapsharing/dmap-gst-input-stream.h     |  5 ---
 libdmapsharing/dmap-gst-mp3-input-stream.c |  4 ---
 libdmapsharing/dmap-gst-qt-input-stream.c  |  4 ---
 libdmapsharing/dmap-gst-wav-input-stream.c |  6 +---
 libdmapsharing/dmap-share.c                |  2 +-
 libdmapsharing/generate-test-suites        | 15 ++++++++-
 libdmapsharing/gst-util.c                  |  1 +
 libdmapsharing/gst-util.h                  |  3 ++
 tests/test-dmap-db.c                       |  2 +-
 13 files changed, 82 insertions(+), 27 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index b9b8062..10aa917 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,6 +52,7 @@ libdmapsharing/Makefile
 libdmapsharing/Makefile.in
 libdmapsharing/*.[oa]
 libdmapsharing/*-suite.c
+libdmapsharing/*-suite.h
 libdmapsharing/DMAP-3.0.gir
 libdmapsharing/DMAP-3.0.typelib
 libdmapsharing/unit-test.stamp
diff --git a/configure.ac b/configure.ac
index 0cb01a2..4fe47fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -52,6 +52,59 @@ if test "x$LIBDMAPSHARING_WALL" = "xyes"; then
     fi
 fi
 
+AC_ARG_ENABLE(more-warnings, [  --enable-more-warnings  Maximum compiler warnings], 
set_more_warnings="$enableval",[
+       if test -d "$srcdir/.git"; then
+               set_more_warnings=yes
+       else
+               set_more_warnings=no
+       fi
+])
+AC_MSG_CHECKING(for more warnings, including -Werror)
+if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+       AC_MSG_RESULT(yes)
+       WARN_CFLAGS="\
+               -Wcomment -Wformat -Wnonnull -Wimplicit-int -Wimplicit \
+               -Wmain -Wmissing-braces -Wparentheses -Wsequence-point \
+               -Wreturn-type -Wswitch -Wtrigraphs -Wunused-function \
+               -Wunused-label -Wunused-value \
+               -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
+               -Wnested-externs -Wpointer-arith \
+               -Wformat-security -Wall \
+               -Werror -Wno-deprecated-declarations -std=gnu89"
+
+       if echo "$CFLAGS" | grep -q -- '-O' && echo "$CFLAGS" | grep -q -v -- '-O0'; then
+               WARN_CFLAGS="-Wuninitialized $WARN_CFLAGS"
+       fi
+
+       for option in $WARN_CFLAGS; do
+               SAVE_CFLAGS="$CFLAGS"
+               CFLAGS="$CFLAGS $option"
+               AC_MSG_CHECKING([whether gcc understands $option])
+               AC_TRY_COMPILE([], [], has_option=yes, has_option=no,)
+               if test x$has_option = xyes; then
+                       LIBDMAPSHARING_CFLAGS="$LIBDMAPSHARING_CFLAGS $option"
+               fi
+               AC_MSG_RESULT($has_option)
+               CFLAGS="$SAVE_CFLAGS"
+               unset has_option
+               unset SAVE_CFLAGS
+       done
+       unset option
+       AC_SUBST(WARN_CFLAGS)
+
+       SAVE_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -Wno-error"
+       AC_TRY_COMPILE([], [], WNOERROR_CFLAGS="-Wno-error", WNOERROR_CFLAGS="")
+       AC_SUBST(WNOERROR_CFLAGS)
+       CFLAGS="$SAVE_CFLAGS"
+       unset SAVE_CFLAGS
+       unset has_wnoerror
+else
+       AC_MSG_RESULT(no)
+fi
+
+AC_SUBST(WARN_CFLAGS)
+
 dnl check for tools
 dnl Make sure CFLAGS is defined to stop AC_PROC_CC adding -g
 CFLAGS="$CFLAGS "
diff --git a/libdmapsharing/Makefile.am b/libdmapsharing/Makefile.am
index 822615e..cc65d3a 100644
--- a/libdmapsharing/Makefile.am
+++ b/libdmapsharing/Makefile.am
@@ -64,7 +64,8 @@ libdmapsharing_3_0_la_CFLAGS = \
        $(GDKPIXBUF_CFLAGS) \
        $(SOUP_CFLAGS) \
        $(GSTREAMERAPP_CFLAGS) \
-       $(MDNS_CFLAGS)
+       $(MDNS_CFLAGS) \
+       $(WARN_CFLAGS)
 
 libdmapsharing_3_0_la_LDFLAGS = \
        -version-info @SO_VERSION@ \
@@ -125,10 +126,10 @@ BUILT_SOURCES = dmap-marshal.c dmap-marshal.h dmap-enums.c dmap-enums.h unit-tes
 CLEANFILES = $(BUILT_SOURCES) ../tests/unit-test.c *-suite.c pedansee.conf
 
 dmap-marshal.c: dmap-marshal.list
-       @glib-genmarshal --prefix=dmap_marshal_generated $(srcdir)/dmap-marshal.list --body > dmap-marshal.c
+       @glib-genmarshal --prefix=dmap_marshal_generated --include-header dmap-marshal.h 
$(srcdir)/dmap-marshal.list --body > dmap-marshal.c
 
 dmap-marshal.h: dmap-marshal.list
-       @glib-genmarshal --prefix=dmap_marshal_generated $(srcdir)/dmap-marshal.list --header > dmap-marshal.h
+       @glib-genmarshal --prefix=dmap_marshal_generated --include-header dmap-marshal.h 
$(srcdir)/dmap-marshal.list --header > dmap-marshal.h
 
 dmap-enums.c: $(libdmapsharinginclude_headers) Makefile dmap-enums.h
        @glib-mkenums \
diff --git a/libdmapsharing/dacp-share.c b/libdmapsharing/dacp-share.c
index fff4d12..2f91f50 100644
--- a/libdmapsharing/dacp-share.c
+++ b/libdmapsharing/dacp-share.c
@@ -378,7 +378,7 @@ dacp_share_dispose (GObject * object)
        g_hash_table_destroy (share->priv->remotes);
 }
 
-void
+static void
 mdns_remote_added (G_GNUC_UNUSED DMAPMdnsBrowser * browser,
                   DMAPMdnsBrowserService * service, DACPShare * share)
 {
@@ -403,7 +403,7 @@ mdns_remote_added (G_GNUC_UNUSED DMAPMdnsBrowser * browser,
                       0, service->service_name, service->name);
 }
 
-void
+static void
 mdns_remote_removed (G_GNUC_UNUSED DMAPMdnsBrowser * browser,
                     const char *service_name, DACPShare * share)
 {
@@ -998,7 +998,7 @@ dacp_share_pairing_code (G_GNUC_UNUSED DACPShare * share,
        return ret;
 }
 
-void
+static void
 connection_handler_cb (DMAPConnection * connection, guint status,
                       GNode * structure, gpointer user_data)
 {
diff --git a/libdmapsharing/dmap-gst-input-stream.h b/libdmapsharing/dmap-gst-input-stream.h
index 1abfa25..91cc4be 100644
--- a/libdmapsharing/dmap-gst-input-stream.h
+++ b/libdmapsharing/dmap-gst-input-stream.h
@@ -70,11 +70,6 @@ enum
 GInputStream *dmap_gst_input_stream_new (const gchar * transcode_mimetype,
                                         GInputStream * src_stream);
 
-/* FIXME: this prototype was moved to the specific implementations in order to make this header file work 
without GStreamer installed:
-void dmap_gst_input_stream_new_buffer_cb                (GstElement *element,
-                                                 DMAPGstInputStream *stream);
-                                                 */
-
 gchar *dmapd_input_stream_strdup_format_extension (const gint format_code);
 
 G_END_DECLS
diff --git a/libdmapsharing/dmap-gst-mp3-input-stream.c b/libdmapsharing/dmap-gst-mp3-input-stream.c
index 550d174..36f6274 100644
--- a/libdmapsharing/dmap-gst-mp3-input-stream.c
+++ b/libdmapsharing/dmap-gst-mp3-input-stream.c
@@ -38,10 +38,6 @@ struct DMAPGstMP3InputStreamPrivate
        GstElement *sink;
 };
 
-/* FIXME: See note in dmap-gst-input-stream.h */
-void dmap_gst_input_stream_new_buffer_cb (GstElement * element,
-                                         DMAPGstInputStream * stream);
-
 static void
 pad_added_cb (G_GNUC_UNUSED GstElement * element,
               GstPad * pad,
diff --git a/libdmapsharing/dmap-gst-qt-input-stream.c b/libdmapsharing/dmap-gst-qt-input-stream.c
index e3f4874..7bc98c3 100644
--- a/libdmapsharing/dmap-gst-qt-input-stream.c
+++ b/libdmapsharing/dmap-gst-qt-input-stream.c
@@ -39,10 +39,6 @@ struct DMAPGstQtInputStreamPrivate
        GstElement *sink;
 };
 
-/* FIXME: See note in dmap-gst-input-stream.h */
-void dmap_gst_input_stream_new_buffer_cb (GstElement * element,
-                                         DMAPGstInputStream * stream);
-
 static void
 pad_added_cb (G_GNUC_UNUSED GstElement * element,
               GstPad * pad,
diff --git a/libdmapsharing/dmap-gst-wav-input-stream.c b/libdmapsharing/dmap-gst-wav-input-stream.c
index ce229a4..d95e69f 100644
--- a/libdmapsharing/dmap-gst-wav-input-stream.c
+++ b/libdmapsharing/dmap-gst-wav-input-stream.c
@@ -23,8 +23,8 @@
 #include <gst/gst.h>
 #include <gst/app/gstappsink.h>
 
-#include "gst-util.h"
 #include "dmap-gst-wav-input-stream.h"
+#include "gst-util.h"
 
 #define GST_APP_MAX_BUFFERS 1024
 
@@ -39,10 +39,6 @@ struct DMAPGstWAVInputStreamPrivate
        GstElement *sink;
 };
 
-/* FIXME: See note in dmap-gst-input-stream.h */
-void dmap_gst_input_stream_new_buffer_cb (GstElement * element,
-                                         DMAPGstInputStream * stream);
-
 static void
 pad_added_cb (G_GNUC_UNUSED GstElement * element,
               GstPad * pad,
diff --git a/libdmapsharing/dmap-share.c b/libdmapsharing/dmap-share.c
index 55054fe..dc82417 100644
--- a/libdmapsharing/dmap-share.c
+++ b/libdmapsharing/dmap-share.c
@@ -1573,7 +1573,7 @@ chunked_message_finished (G_GNUC_UNUSED SoupMessage * message,
        g_free (share_bitwise);
 }
 
-DMAPRecord *
+static DMAPRecord *
 g_hash_table_lookup_adapter (GHashTable * ht, guint id)
 {
        /* NOTE: each time this is called by write_next_mlit(), the
diff --git a/libdmapsharing/generate-test-suites b/libdmapsharing/generate-test-suites
index 0c42f3d..d547441 100755
--- a/libdmapsharing/generate-test-suites
+++ b/libdmapsharing/generate-test-suites
@@ -4,15 +4,28 @@
 for f in *.c; do
        tests=$(grep ^START_TEST $f | cut -c 12- | sed 's/.$//')
        suitefn=$(echo ${f%.*} | sed 's/-/_/g')
+       cppname=$(echo ${f%.*} | sed 's/-/_/g' | tr [:lower:] [:upper:])
 
        # Continue if no tests.
         if [ -z "$tests" ]; then
                 continue
         fi
 
+        cat <<EOF > ${f%.*}-suite.h
+/* Machine-generated by $0; do not edit. */
+
+#ifndef _${cppname}_SUITE_H
+
+Suite *dmap_test_${suitefn}(void);
+
+#endif
+EOF
+
         cat <<EOF > ${f%.*}-suite.c
 /* Machine-generated by $0; do not edit. */
 
+#include "${f%.*}-suite.h"
+
 Suite *dmap_test_${suitefn}(void)
 {
         TCase *tc;
@@ -55,7 +68,7 @@ for f in *.c; do
                 continue
         fi
         cat <<EOF >> unit-test.c
-Suite *dmap_test_${suitefn}(void);
+#include "../libdmapsharing/${f%.*}-suite.h"
 EOF
 done
 
diff --git a/libdmapsharing/gst-util.c b/libdmapsharing/gst-util.c
index a36be09..a1f7bb8 100644
--- a/libdmapsharing/gst-util.c
+++ b/libdmapsharing/gst-util.c
@@ -22,6 +22,7 @@
 #include <gst/gst.h>
 
 #include "dmap-gst-input-stream.h"
+#include "gst-util.h"
 
 gboolean
 pads_compatible (GstPad * pad1, GstPad * pad2)
diff --git a/libdmapsharing/gst-util.h b/libdmapsharing/gst-util.h
index 66f33c8..845eb7e 100644
--- a/libdmapsharing/gst-util.h
+++ b/libdmapsharing/gst-util.h
@@ -25,6 +25,9 @@
 
 gboolean pads_compatible (GstPad * pad1, GstPad * pad2);
 
+void dmap_gst_input_stream_new_buffer_cb (GstElement * element,
+                                          DMAPGstInputStream * stream);
+
 #endif /* __GST_UTIL */
 
 G_END_DECLS
diff --git a/tests/test-dmap-db.c b/tests/test-dmap-db.c
index 6955b6b..6e63894 100644
--- a/tests/test-dmap-db.c
+++ b/tests/test-dmap-db.c
@@ -50,7 +50,7 @@ test_dmap_db_count (const DMAPDb *db)
        return g_hash_table_size (TEST_DMAP_DB (db)->priv->db);
 }
 
-guint
+static guint
 test_dmap_db_add (DMAPDb *db, DMAPRecord *record)
 {
         guint id;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]