r16662 - gnucash/branches/gda-dev/src/backend/gda - 1) Use kvp_frame_set_xxx() instead of kvp_frame_add_xxx() when loading

Phil Longstaff plongstaff at cvs.gnucash.org
Sat Dec 15 21:30:54 EST 2007


Author: plongstaff
Date: 2007-12-15 21:30:54 -0500 (Sat, 15 Dec 2007)
New Revision: 16662
Trac: http://svn.gnucash.org/trac/changeset/16662

Modified:
   gnucash/branches/gda-dev/src/backend/gda/gnc-backend-util-gda.c
   gnucash/branches/gda-dev/src/backend/gda/gnc-slots-gda.c
Log:
1) Use kvp_frame_set_xxx() instead of kvp_frame_add_xxx() when loading
slots
2) Free GDate after calling setter



Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-backend-util-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-backend-util-gda.c	2007-12-15 23:33:49 UTC (rev 16661)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-backend-util-gda.c	2007-12-16 02:30:54 UTC (rev 16662)
@@ -618,6 +618,7 @@
     if( gda_value_is_null( val ) ) {
 		date = g_date_new_dmy( 1, 1, 1970 );
         (*setter)( pObject, date );
+		g_date_free( date );
     } else {
 		if( G_VALUE_HOLDS_STRING( val ) ) {
 			const gchar* s = g_value_get_string( val );
@@ -627,11 +628,13 @@
 
 			date = g_date_new_dmy( day, month, year );
 			(*setter)( pObject, date );
+			g_date_free( date );
 
 		} else if( G_VALUE_HOLDS_BOXED( val ) ) {
         	date = (GDate*)g_value_get_boxed( val );
         	if( date != NULL ) {
             	(*setter)( pObject, date );
+				g_date_free( date );
 			}
 		} else {
 			g_warning( "Unknown timespec type: %s", G_VALUE_TYPE_NAME( val ) );

Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-slots-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-slots-gda.c	2007-12-15 23:33:49 UTC (rev 16661)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-slots-gda.c	2007-12-16 02:30:54 UTC (rev 16662)
@@ -190,7 +190,7 @@
     slot_info_t* pInfo = (slot_info_t*)pObject;
 
     if( pInfo->value_type == KVP_TYPE_GINT64 ) {
-        kvp_frame_add_gint64( pInfo->pKvpFrame, pInfo->path->str, *(gint64*)pValue );
+        kvp_frame_set_gint64( pInfo->pKvpFrame, pInfo->path->str, *(gint64*)pValue );
     }
 }
 
@@ -212,7 +212,7 @@
     slot_info_t* pInfo = (slot_info_t*)pObject;
 
     if( pInfo->value_type == KVP_TYPE_STRING ) {
-        kvp_frame_add_string( pInfo->pKvpFrame, pInfo->path->str, (const gchar*)pValue );
+        kvp_frame_set_string( pInfo->pKvpFrame, pInfo->path->str, (const gchar*)pValue );
     }
 }
 
@@ -236,7 +236,7 @@
     slot_info_t* pInfo = (slot_info_t*)pObject;
 
     if( pInfo->value_type == KVP_TYPE_DOUBLE ) {
-        kvp_frame_add_double( pInfo->pKvpFrame, pInfo->path->str, *(double*)pValue );
+        kvp_frame_set_double( pInfo->pKvpFrame, pInfo->path->str, *(double*)pValue );
     }
 }
 
@@ -260,7 +260,7 @@
     slot_info_t* pInfo = (slot_info_t*)pObject;
 
     if( pInfo->value_type == KVP_TYPE_TIMESPEC ) {
-        kvp_frame_add_timespec( pInfo->pKvpFrame, pInfo->path->str, *(Timespec*)pValue );
+        kvp_frame_set_timespec( pInfo->pKvpFrame, pInfo->path->str, *(Timespec*)pValue );
     }
 }
 
@@ -282,7 +282,7 @@
     slot_info_t* pInfo = (slot_info_t*)pObject;
 
     if( pInfo->value_type == KVP_TYPE_GUID ) {
-        kvp_frame_add_guid( pInfo->pKvpFrame, pInfo->path->str, (GUID*)pValue );
+        kvp_frame_set_guid( pInfo->pKvpFrame, pInfo->path->str, (GUID*)pValue );
     }
 }
 
@@ -306,7 +306,7 @@
     slot_info_t* pInfo = (slot_info_t*)pObject;
 
     if( pInfo->value_type == KVP_TYPE_NUMERIC ) {
-        kvp_frame_add_numeric( pInfo->pKvpFrame, pInfo->path->str, *(gnc_numeric*)pValue );
+        kvp_frame_set_numeric( pInfo->pKvpFrame, pInfo->path->str, *(gnc_numeric*)pValue );
     }
 }
 



More information about the gnucash-changes mailing list