r18151 - gnucash/trunk/src/backend/xml - If session_begin contains initial 'xml://' or 'file://', remove it.

Phil Longstaff plongstaff at code.gnucash.org
Sun Jun 21 20:40:33 EDT 2009


Author: plongstaff
Date: 2009-06-21 20:40:33 -0400 (Sun, 21 Jun 2009)
New Revision: 18151
Trac: http://svn.gnucash.org/trac/changeset/18151

Modified:
   gnucash/trunk/src/backend/xml/gnc-backend-xml.c
Log:
If session_begin contains initial 'xml://' or 'file://', remove it.

Fixes bug 585789 and 586121


Modified: gnucash/trunk/src/backend/xml/gnc-backend-xml.c
===================================================================
--- gnucash/trunk/src/backend/xml/gnc-backend-xml.c	2009-06-21 22:22:57 UTC (rev 18150)
+++ gnucash/trunk/src/backend/xml/gnc-backend-xml.c	2009-06-22 00:40:33 UTC (rev 18151)
@@ -201,6 +201,8 @@
 }
 
 /* ================================================================= */
+#define XML_URI_PREFIX "xml://"
+#define FILE_URI_PREFIX "file://"
 
 static void
 file_session_begin(QofBackend *be_start, QofSession *session, 
@@ -208,10 +210,15 @@
                    gboolean ignore_lock, gboolean create_if_nonexistent)
 {
     FileBackend *be = (FileBackend*) be_start;
+	gchar* resolved_path;
 
     ENTER (" ");
 
     /* Make sure the directory is there */
+	if (g_str_has_prefix(book_id, XML_URI_PREFIX))
+		book_id += strlen(XML_URI_PREFIX);
+	if (g_str_has_prefix(book_id, FILE_URI_PREFIX))
+		book_id += strlen(FILE_URI_PREFIX);
     be->fullpath = xaccResolveFilePath(book_id);
     if (NULL == be->fullpath)
     {



More information about the gnucash-changes mailing list