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