r16540 - gnucash/branches/gda-dev/src/backend/gda - Use glib functions to split path into dir/basename for sqlite.

Phil Longstaff plongstaff at cvs.gnucash.org
Sun Sep 16 16:09:00 EDT 2007


Author: plongstaff
Date: 2007-09-16 16:08:59 -0400 (Sun, 16 Sep 2007)
New Revision: 16540
Trac: http://svn.gnucash.org/trac/changeset/16540

Modified:
   gnucash/branches/gda-dev/src/backend/gda/gnc-backend-gda.c
Log:
Use glib functions to split path into dir/basename for sqlite.



Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-backend-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-backend-gda.c	2007-09-16 19:34:16 UTC (rev 16539)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-backend-gda.c	2007-09-16 20:08:59 UTC (rev 16540)
@@ -165,15 +165,15 @@
 		    // If the provider is SQLite, split the file name into DB_DIR and
 			// DB_NAME
 			if( strcmp( provider, "SQLite" ) == 0 ) {
-			    gchar* last_slash = g_strrstr( dsn, "/" );
-				if( last_slash != NULL ) {
-				    *last_slash = '\0';
-					last_slash++;
-					cnc = g_strdup_printf( "DB_DIR=%s;DB_NAME=%s",
-											dsn, last_slash );
-				} else {
-				    cnc = g_strdup_printf( "DB_DIR=.;DB_NAME=%s", dsn );
-				}
+				gchar* dirname;
+				gchar* basename;
+
+				dirname = g_path_get_dirname( dsn );
+				basename = g_path_get_basename( dsn );
+				cnc = g_strdup_printf( "DB_DIR=%s;DB_NAME=%s",
+											dirname, basename );
+				g_free( dirname );
+				g_free( basename );
 			} else {
 			    cnc = g_strdup( dsn );
 			}



More information about the gnucash-changes mailing list