devicemonitor: Avoid maybe-uninitialized compiler warning
authorJan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Mon, 6 Nov 2017 19:23:12 +0000 (20:23 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 4 Dec 2017 10:56:44 +0000 (10:56 +0000)
On Arch Linux x86_64, gcc 7.2.0-3, -Og -g3:

gstdevicemonitor.c: In function ‘bus_sync_message’:
gstdevicemonitor.c:276:8: error: ‘matches’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

This commit also simplifies the code a bit.

https://bugzilla.gnome.org/show_bug.cgi?id=789983

gst/gstdevicemonitor.c

index add267e..49e32bb 100644 (file)
@@ -236,7 +236,7 @@ bus_sync_message (GstBus * bus, GstMessage * message,
   GstMessageType type = GST_MESSAGE_TYPE (message);
 
   if (type == GST_MESSAGE_DEVICE_ADDED || type == GST_MESSAGE_DEVICE_REMOVED) {
-    gboolean matches;
+    gboolean matches = TRUE;
     GstDevice *device;
     GstDeviceProvider *provider;
 
@@ -250,7 +250,7 @@ bus_sync_message (GstBus * bus, GstMessage * message,
         GST_DEVICE_PROVIDER (gst_object_get_parent (GST_OBJECT (device)));
     if (is_provider_hidden (monitor, monitor->priv->hidden, provider)) {
       matches = FALSE;
-    } else if (monitor->priv->filters->len) {
+    } else {
       guint i;
 
       for (i = 0; i < monitor->priv->filters->len; i++) {
@@ -265,8 +265,6 @@ bus_sync_message (GstBus * bus, GstMessage * message,
         if (matches)
           break;
       }
-    } else {
-      matches = TRUE;
     }
     GST_OBJECT_UNLOCK (monitor);