r16199 - gnucash/trunk/lib/libqof/backend/file - Correct use of xmlNodeGetContent in qsf backend module.

Andreas Köhler andi5 at cvs.gnucash.org
Fri Jun 22 09:31:25 EDT 2007


Author: andi5
Date: 2007-06-22 09:31:23 -0400 (Fri, 22 Jun 2007)
New Revision: 16199
Trac: http://svn.gnucash.org/trac/changeset/16199

Modified:
   gnucash/trunk/lib/libqof/backend/file/qsf-backend.c
Log:
Correct use of xmlNodeGetContent in qsf backend module.

Its return value is a char pointer, not a char.


Modified: gnucash/trunk/lib/libqof/backend/file/qsf-backend.c
===================================================================
--- gnucash/trunk/lib/libqof/backend/file/qsf-backend.c	2007-06-22 13:31:18 UTC (rev 16198)
+++ gnucash/trunk/lib/libqof/backend/file/qsf-backend.c	2007-06-22 13:31:23 UTC (rev 16199)
@@ -1062,7 +1062,7 @@
 	gint32         cm_i32;
 	gint64         cm_i64;
 	Timespec       cm_date;
-	gchar          cm_char,    (*char_getter)  (xmlNodePtr);
+	gchar          *cm_char,  *(*char_getter)  (xmlNodePtr);
 	GUID           *cm_guid;
 	KvpFrame       *cm_kvp;
 	KvpValue       *cm_value;
@@ -1209,10 +1209,11 @@
 		params->referenceList = g_list_append(params->referenceList, reference);
 	}
 	if(safe_strcmp(qof_type, QOF_TYPE_CHAR) == 0) {
-		char_getter = (gchar (*)(xmlNodePtr))xmlNodeGetContent;
+		char_getter = (gchar * (*)(xmlNodePtr))xmlNodeGetContent;
 		cm_char = char_getter(node);
 		char_setter = (void(*)(QofInstance*, gchar))cm_setter;
-		if(char_setter != NULL) { char_setter(qsf_ent, cm_char); }
+		if(char_setter != NULL) { char_setter(qsf_ent, *cm_char); }
+		xmlFree(cm_char);
 	}
 }
 



More information about the gnucash-changes mailing list