gnucash master: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Mon May 5 11:59:58 EDT 2014


Updated	 via  https://github.com/Gnucash/gnucash/commit/cd79b1f5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6695f6c6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8c21aff5 (commit)
	from  https://github.com/Gnucash/gnucash/commit/edd85faa (commit)



commit cd79b1f5deb6d8c8f9f21f66f523d0e283129f1a
Merge: edd85fa 6695f6c
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon May 5 17:57:03 2014 +0200

    Merge branch 'maint'
    
    * Mike Alexander's Better test for conflict between optimization and FORTIFY_SOURCE
    * Fix crash with libdbi >= 0.9.0, based on a patch by Colin Law


commit 6695f6c6608869a2d4d62e94f060bf77b618d60c
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon May 5 17:53:21 2014 +0200

    Fix crash with libdib >= 0.9.0
    
    Based on a patch provided by Colin Law

diff --git a/src/backend/dbi/gnc-backend-dbi.c b/src/backend/dbi/gnc-backend-dbi.c
index 694cbba..e5e263a 100644
--- a/src/backend/dbi/gnc-backend-dbi.c
+++ b/src/backend/dbi/gnc-backend-dbi.c
@@ -292,7 +292,7 @@ gnc_dbi_sqlite3_session_begin( QofBackend *qbe, QofSession *session,
     }
 
     #if HAVE_LIBDBI_R
-    be->conn = dbi_conn_new_r( "sqlite3", dbi_instance );
+    be->conn = dbi_conn_new_r( "sqlite3", &dbi_instance );
     #else
     be->conn = dbi_conn_new( "sqlite3" );
     #endif
@@ -822,7 +822,7 @@ gnc_dbi_mysql_session_begin( QofBackend* qbe, QofSession *session,
         dbi_conn_close( be->conn );
     }
 #if HAVE_LIBDBI_R
-    be->conn = dbi_conn_new_r( "mysql", dbi_instance );
+    be->conn = dbi_conn_new_r( "mysql", &dbi_instance );
 #else
     be->conn = dbi_conn_new( "mysql" );
 #endif
@@ -911,7 +911,7 @@ gnc_dbi_mysql_session_begin( QofBackend* qbe, QofSession *session,
 
             // Try again to connect to the db
             #if HAVE_LIBDBI_R
-            be->conn = dbi_conn_new_r( "mysql", dbi_instance );
+            be->conn = dbi_conn_new_r( "mysql", &dbi_instance );
             #else
             be->conn = dbi_conn_new( "mysql" );
             #endif
@@ -1168,7 +1168,7 @@ gnc_dbi_postgres_session_begin( QofBackend *qbe, QofSession *session,
     }
 
     #if HAVE_LIBDBI_R
-    be->conn = dbi_conn_new_r( "pgsql", dbi_instance );
+    be->conn = dbi_conn_new_r( "pgsql", &dbi_instance );
     #else
     be->conn = dbi_conn_new( "pgsql" );
     #endif
@@ -1259,7 +1259,7 @@ gnc_dbi_postgres_session_begin( QofBackend *qbe, QofSession *session,
 
             // Try again to connect to the db
             #if HAVE_LIBDBI_R
-            be->conn = dbi_conn_new_r( "pgsql", dbi_instance );
+            be->conn = dbi_conn_new_r( "pgsql", &dbi_instance );
             #else
             be->conn = dbi_conn_new( "pgsql" );
             #endif
@@ -1869,7 +1869,7 @@ gnc_module_init_backend_dbi(void)
 
     /* dbi_initialize returns -1 in case of errors */
     #if HAVE_LIBDBI_R
-    num_drivers = dbi_initialize_r( driver_dir, dbi_instance );
+    num_drivers = dbi_initialize_r( driver_dir, &dbi_instance );
     #else
     num_drivers = dbi_initialize( driver_dir );
     #endif
@@ -1885,7 +1885,7 @@ gnc_module_init_backend_dbi(void)
         do
         {
             #if HAVE_LIBDBI_R
-            driver = dbi_driver_list_r( driver, dbi_instance );
+            driver = dbi_driver_list_r( driver, &dbi_instance );
             #else
             driver = dbi_driver_list( driver );
             #endif
@@ -1988,7 +1988,7 @@ void
 gnc_module_finalize_backend_dbi( void )
 {
     #if HAVE_LIBDBI_R
-    dbi_shutdown_r(dbi_instance);
+    dbi_shutdown_r(&dbi_instance);
     #else
     dbi_shutdown();
     #endif

commit 8c21aff5e1dc878f62ef42794524ba17c5601626
Author: Mike Alexander <mta at umich.edu>
Date:   Fri May 2 18:02:08 2014 -0400

    Better test for conflict between optimization and FORTIFY_SOURCE

diff --git a/configure.ac b/configure.ac
index 48f3ecd..db40582 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1316,22 +1316,21 @@ then
       # This is gcc >= 3.4.x
       warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement"
     fi
-  else if test "`echo ${GCC_VERSION} | cut -d. -f1`" -ge 4; then
+  elif test "`echo ${GCC_VERSION} | cut -d. -f1`" -ge 4; then
+         AC_MSG_CHECKING(OK To use fortify source?)
          # This is gcc >= 4.x.x
          warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement -Wno-pointer-sign"
          # rpmbuild on FC4 forces this flag. Only add it when optimizing
-         have_optimization=
-         for flag in $CFLAGS; do
-           tmp_flag=`echo $flag | sed -e 's,-O.,,'`
-           if `echo $flag | grep -q -- '-O'` ; then
-             have_optimization=yes
-           fi
-         done
-
-         if test "x${have_optimization}" = xyes; then 
-             warnFLAGS="${warnFLAGS} -D_FORTIFY_SOURCE=2"
-         fi
-       fi
+	 cflags_save="$CFLAGS"
+	 CFLAGS="$AM_CFLAGS $CFLAGS -Werror -D_FORTIFY_SOURCE=2"
+	 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <stdio.h>
+	 ]],
+	  [[ printf( "%s\n", "Hello World!");]])],
+            [warnFLAGS="${warnFLAGS} -D_FORTIFY_SOURCE=2"
+	     AC_MSG_RESULT(OK)],
+	    [AC_MSG_RESULT(No)])
+	 CFLAGS="$cflags_save"
   fi
   CFLAGS="${warnFLAGS} ${CFLAGS}"
 else



Summary of changes:
 src/backend/dbi/gnc-backend-dbi.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)



More information about the gnucash-changes mailing list