[msitools] Fix up Wmaybe-uninitialized, and remove loop optim warnings



commit f8d862dc4b35aee2d194168faee7cea89f5e7bc8
Author: Marc-Andrà Lureau <marcandre lureau gmail com>
Date:   Fri Feb 8 02:19:23 2013 +0100

    Fix up Wmaybe-uninitialized, and remove loop optim warnings

 configure.ac                 |    1 +
 libmsi/libmsi-database.c     |    5 +++--
 libmsi/libmsi-query.c        |    2 +-
 libmsi/libmsi-summary-info.c |    3 +--
 libmsi/table.c               |    2 +-
 5 files changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 9bf54f6..42a824d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,6 +53,7 @@ nw="$nw -Wsign-conversion"      # Likewise.
 nw="$nw -Wunused-parameter"     # Likewise.
 nw="$nw -Wunused-local-typedef" # Likewise.
 nw="$nw -Wunused-macros"        # Likewise.
+nw="$nw -Wunsafe-loop-optimizations" # Likewise.
 # Enable all GCC warnings not in this list.
 gl_MANYWARN_COMPLEMENT([warnings], [$warnings], [$nw])
 for w in $warnings; do
diff --git a/libmsi/libmsi-database.c b/libmsi/libmsi-database.c
index 350ae62..c3f614a 100644
--- a/libmsi/libmsi-database.c
+++ b/libmsi/libmsi-database.c
@@ -917,7 +917,7 @@ static unsigned msi_add_table_to_db(LibmsiDatabase *db, char **columns, char **t
 {
     unsigned r = LIBMSI_RESULT_OUTOFMEMORY;
     unsigned size;
-    LibmsiQuery *view;
+    LibmsiQuery *view = NULL;
     char *create_sql = NULL;
     char *prelude;
     char *columns_sql;
@@ -952,7 +952,8 @@ done:
         g_critical ("%s", error->message);
 
     g_clear_error (&error);
-    g_object_unref(view);
+    if (view)
+        g_object_unref(view);
     msi_free(prelude);
     msi_free(columns_sql);
     msi_free(postlude);
diff --git a/libmsi/libmsi-query.c b/libmsi/libmsi-query.c
index 6653bbc..759613c 100644
--- a/libmsi/libmsi-query.c
+++ b/libmsi/libmsi-query.c
@@ -253,7 +253,7 @@ LibmsiRecord *_libmsi_query_get_record( LibmsiDatabase *db, const char *fmt, ...
 {
     LibmsiRecord *rec = NULL;
     LibmsiQuery *view = NULL;
-    unsigned r;
+    unsigned r = LIBMSI_RESULT_SUCCESS;
     va_list va;
     char *query;
     GError *error = NULL; // FIXME: move error to caller
diff --git a/libmsi/libmsi-summary-info.c b/libmsi/libmsi-summary-info.c
index a7a9571..4108352 100644
--- a/libmsi/libmsi-summary-info.c
+++ b/libmsi/libmsi-summary-info.c
@@ -703,8 +703,7 @@ static void _summary_info_get_property (LibmsiSummaryInfo *si, unsigned uiProper
         type = LIBMSI_PROPERTY_TYPE_EMPTY;
         break;
     default:
-        g_warn_if_reached ();
-        break;
+        g_return_if_reached ();
     }
 
     if (puiDataType)
diff --git a/libmsi/table.c b/libmsi/table.c
index 6414e14..5058ad1 100644
--- a/libmsi/table.c
+++ b/libmsi/table.c
@@ -1227,7 +1227,7 @@ static unsigned _libmsi_add_stream( LibmsiDatabase *db, const char *name, GsfInp
         "INSERT INTO `_Streams`(`Name`, `Data`) VALUES (?, ?)";
     LibmsiQuery *query = NULL;
     LibmsiRecord *rec;
-    unsigned r;
+    unsigned r = LIBMSI_RESULT_SUCCESS;
 
     TRACE("%p %s %p\n", db, debugstr_a(name), data);
 


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