[Gnucash-changes] r12316 - gnucash/trunk/src/engine - Convert gnc-commodity to use vanilla string cache macros.

Chris Shoemaker chris at cvs.gnucash.org
Tue Jan 10 21:58:59 EST 2006


Author: chris
Date: 2006-01-10 21:58:59 -0500 (Tue, 10 Jan 2006)
New Revision: 12316
Trac: http://svn.gnucash.org/trac/changeset/12316

Modified:
   gnucash/trunk/src/engine/gnc-commodity.c
Log:
Convert gnc-commodity to use vanilla string cache macros.


Modified: gnucash/trunk/src/engine/gnc-commodity.c
===================================================================
--- gnucash/trunk/src/engine/gnc-commodity.c	2006-01-11 02:56:02 UTC (rev 12315)
+++ gnucash/trunk/src/engine/gnc-commodity.c	2006-01-11 02:58:59 UTC (rev 12316)
@@ -447,15 +447,6 @@
  * gnc_commodity_new
  ********************************************************************/
 
-/* TODO: convert these to their more conventional form */
-#undef CACHE_INSERT
-#undef CACHE_REMOVE
-#define CACHE_INSERT(dest,src)       \
-  if(src) { dest = gnc_string_cache_insert((gpointer)src); }
-
-#define CACHE_REMOVE(str)     \
-  if(str) { gnc_string_cache_remove(str); str=NULL; }
-
 static void
 mark_commodity_dirty (gnc_commodity *cm)
 {
@@ -503,15 +494,15 @@
   } else {
     retval->namespace = NULL;
   }
-
-  CACHE_INSERT (retval->fullname, fullname);
-  CACHE_INSERT (retval->mnemonic, mnemonic);
-  CACHE_INSERT (retval->exchange_code, exchange_code);
+  
+  retval->fullname = CACHE_INSERT(fullname);
+  retval->mnemonic = CACHE_INSERT(mnemonic);
+  retval->exchange_code = CACHE_INSERT(exchange_code);
   retval->fraction = fraction;
   retval->mark = 0;
   retval->quote_flag = 0;
   retval->quote_source = NULL;
-  retval->quote_tz = NULL;
+  retval->quote_tz = CACHE_INSERT("");
 
   reset_printname(retval);
   reset_unique_name(retval);
@@ -534,10 +525,10 @@
 
   /* Set at creation */
   CACHE_REMOVE (cm->fullname);
-  cm->namespace = NULL;
   CACHE_REMOVE (cm->exchange_code);
   CACHE_REMOVE (cm->mnemonic);
   CACHE_REMOVE (cm->quote_tz);
+  cm->namespace = NULL;
 
   /* Set through accessor functions */
   cm->quote_source = NULL;
@@ -572,11 +563,12 @@
 {
   gnc_commodity * dest = g_new0(gnc_commodity, 1);
 
-  CACHE_INSERT (dest->fullname, src->fullname);
+  dest->fullname = CACHE_INSERT(src->fullname);
+  dest->mnemonic = CACHE_INSERT(src->mnemonic);
+  dest->exchange_code = CACHE_INSERT(src->exchange_code);
+  dest->quote_tz = CACHE_INSERT(src->quote_tz);
+
   dest->namespace = src->namespace;
-  CACHE_INSERT (dest->mnemonic, src->mnemonic);
-  CACHE_INSERT (dest->exchange_code, src->exchange_code);
-  CACHE_INSERT (dest->quote_tz, src->quote_tz);
 
   dest->mark = 0;
   dest->fraction = src->fraction;
@@ -743,7 +735,7 @@
   if(cm->mnemonic == mnemonic) return;
 
   CACHE_REMOVE (cm->mnemonic);
-  CACHE_INSERT (cm->mnemonic, mnemonic);
+  cm->mnemonic = CACHE_INSERT(mnemonic);
 
   mark_commodity_dirty (cm);
   reset_printname(cm);
@@ -785,7 +777,7 @@
   if(cm->fullname == fullname) return;
 
   CACHE_REMOVE (cm->fullname);
-  CACHE_INSERT (cm->fullname, fullname);
+  cm->fullname = CACHE_INSERT (fullname);
 
   mark_commodity_dirty(cm);
   reset_printname(cm);
@@ -803,7 +795,7 @@
   if(cm->exchange_code == exchange_code) return;
 
   CACHE_REMOVE (cm->exchange_code);
-  CACHE_INSERT (cm->exchange_code, exchange_code);
+  cm->exchange_code = CACHE_INSERT (exchange_code);
   mark_commodity_dirty(cm);
 }
 
@@ -869,11 +861,10 @@
 {
   ENTER ("(cm=%p, tz=%s)", cm, tz);
 
-  if(!cm) return;
+  if(!cm || tz == cm->quote_tz) return;
 
   CACHE_REMOVE (cm->quote_tz);
-  if (tz && *tz)
-    CACHE_INSERT (cm->quote_tz, tz);
+  cm->quote_tz = CACHE_INSERT (tz);
 
   mark_commodity_dirty(cm);
   LEAVE(" ");



More information about the gnucash-changes mailing list