gnucash maint: Fix crash with libdib >= 0.9.0

Geert Janssens gjanssens at code.gnucash.org
Mon May 5 11:56:00 EDT 2014


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



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



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