[Gnucash-changes] r13786 - gnucash/trunk - The kvp_frame_get_string() function returns a pointer to an internal

David Hampton hampton at cvs.gnucash.org
Sat Apr 15 12:40:04 EDT 2006


Author: hampton
Date: 2006-04-15 12:40:03 -0400 (Sat, 15 Apr 2006)
New Revision: 13786
Trac: http://svn.gnucash.org/trac/changeset/13786

Modified:
   gnucash/trunk/ChangeLog
   gnucash/trunk/lib/libqof/qof/kvp_frame.c
   gnucash/trunk/lib/libqof/qof/kvp_frame.h
   gnucash/trunk/src/engine/Account.c
   gnucash/trunk/src/engine/Split.c
   gnucash/trunk/src/engine/Transaction.c
   gnucash/trunk/src/engine/Transaction.h
   gnucash/trunk/src/engine/gw-engine-spec.scm
Log:
The kvp_frame_get_string() function returns a pointer to an internal
string.  Mark it 'const' to prevent callers from trying to free it.


Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog	2006-04-15 03:52:44 UTC (rev 13785)
+++ gnucash/trunk/ChangeLog	2006-04-15 16:40:03 UTC (rev 13786)
@@ -1,3 +1,14 @@
+2006-04-15  David Hampton  <hampton at employees.org>
+
+	* src/engine/Account.c:
+	* src/engine/gw-engine-spec.scm:
+	* src/engine/Transaction.c:
+	* src/engine/Transaction.h:
+	* src/engine/Split.c:
+	* lib/libqof/qof/kvp_frame.[ch]: The kvp_frame_get_string()
+	function returns a pointer to an internal string.  Mark it 'const'
+	to prevent callers from trying to free it.
+
 2006-04-14  David Hampton  <hampton at employees.org>
 
 	* src/register/ledger-core/split-register-load.c:

Modified: gnucash/trunk/lib/libqof/qof/kvp_frame.c
===================================================================
--- gnucash/trunk/lib/libqof/qof/kvp_frame.c	2006-04-15 03:52:44 UTC (rev 13785)
+++ gnucash/trunk/lib/libqof/qof/kvp_frame.c	2006-04-15 16:40:03 UTC (rev 13786)
@@ -868,7 +868,7 @@
   return kvp_value_get_numeric(kvp_frame_get_slot (frame, key));
 }
 
-char * 
+const char * 
 kvp_frame_get_string(const KvpFrame *frame, const char *path)
 {
   char *key = NULL;

Modified: gnucash/trunk/lib/libqof/qof/kvp_frame.h
===================================================================
--- gnucash/trunk/lib/libqof/qof/kvp_frame.h	2006-04-15 03:52:44 UTC (rev 13785)
+++ gnucash/trunk/lib/libqof/qof/kvp_frame.h	2006-04-15 16:40:03 UTC (rev 13786)
@@ -183,7 +183,7 @@
  * The kvp_frame_set_frame_nc() routine works as above, but does 
  *    *NOT* copy the frame. 
  */
-void kvp_frame_set_string(KvpFrame * frame, const gchar * path, const char* str);
+void kvp_frame_set_string(KvpFrame * frame, const gchar * path, const gchar* str);
 void kvp_frame_set_guid(KvpFrame * frame, const gchar * path, const GUID *guid);
 
 void kvp_frame_set_frame(KvpFrame *frame, const gchar *path, KvpFrame *chld);
@@ -348,7 +348,7 @@
 gint64      kvp_frame_get_gint64(const KvpFrame *frame, const gchar *path);
 double      kvp_frame_get_double(const KvpFrame *frame, const gchar *path);
 gnc_numeric kvp_frame_get_numeric(const KvpFrame *frame, const gchar *path);
-gchar     * kvp_frame_get_string(const KvpFrame *frame, const gchar *path);
+const gchar * kvp_frame_get_string(const KvpFrame *frame, const gchar *path);
 GUID      * kvp_frame_get_guid(const KvpFrame *frame, const gchar *path);
 void      * kvp_frame_get_binary(const KvpFrame *frame, const gchar *path,
                                    guint64 * size_return); 
@@ -677,7 +677,7 @@
    slot values.  You must handle that in proc, with a suitable
    recursive call if desired. */
 void kvp_frame_for_each_slot(KvpFrame *f,
-                             void (*proc)(const char *key,
+                             void (*proc)(const gchar *key,
                                           KvpValue *value,
                                           gpointer data),
                              gpointer data);

Modified: gnucash/trunk/src/engine/Account.c
===================================================================
--- gnucash/trunk/src/engine/Account.c	2006-04-15 03:52:44 UTC (rev 13785)
+++ gnucash/trunk/src/engine/Account.c	2006-04-15 16:40:03 UTC (rev 13786)
@@ -1918,7 +1918,7 @@
 gboolean
 xaccAccountGetPlaceholder (const Account *acc)
 {
-  char *str;
+  const char *str;
   if (!acc) return FALSE;
   
   str = kvp_frame_get_string(acc->inst.kvp_data, "placeholder");
@@ -1963,7 +1963,7 @@
 gboolean
 xaccAccountGetHidden (const Account *acc)
 {
-  char *str;
+  const char *str;
   if (!acc) return FALSE;
   
   str = kvp_frame_get_string(acc->inst.kvp_data, "hidden");
@@ -2396,7 +2396,7 @@
 gboolean
 xaccAccountGetAutoInterestXfer (const Account *acc, gboolean default_value)
 {
-  char *str = NULL;
+  const char *str = NULL;
   if (!acc) return default_value;
 
   str = kvp_frame_get_string(acc->inst.kvp_data, 

Modified: gnucash/trunk/src/engine/Split.c
===================================================================
--- gnucash/trunk/src/engine/Split.c	2006-04-15 03:52:44 UTC (rev 13785)
+++ gnucash/trunk/src/engine/Split.c	2006-04-15 16:40:03 UTC (rev 13786)
@@ -1595,7 +1595,7 @@
 const char *
 xaccSplitGetType(const Split *s)
 {
-  char *split_type;
+  const char *split_type;
 
   if (!s) return NULL;
   split_type = kvp_frame_get_string(s->inst.kvp_data, "split-type");

Modified: gnucash/trunk/src/engine/Transaction.c
===================================================================
--- gnucash/trunk/src/engine/Transaction.c	2006-04-15 03:52:44 UTC (rev 13785)
+++ gnucash/trunk/src/engine/Transaction.c	2006-04-15 16:40:03 UTC (rev 13786)
@@ -1747,7 +1747,7 @@
   return (kvp_frame_get_slot(trans->inst.kvp_data, void_reason_str) != NULL);
 }
 
-char *
+const char *
 xaccTransGetVoidReason(const Transaction *trans)
 {
   g_return_val_if_fail(trans, NULL);
@@ -1757,7 +1757,7 @@
 Timespec
 xaccTransGetVoidTime(const Transaction *tr)
 {
-  char *val;
+  const char *val;
   Timespec void_time = {0,0};
 
   g_return_val_if_fail(tr, void_time);

Modified: gnucash/trunk/src/engine/Transaction.h
===================================================================
--- gnucash/trunk/src/engine/Transaction.h	2006-04-15 03:52:44 UTC (rev 13785)
+++ gnucash/trunk/src/engine/Transaction.h	2006-04-15 16:40:03 UTC (rev 13786)
@@ -505,7 +505,7 @@
  *
  *  @return A pointer to the user supplied reason for voiding.
  */
-char *xaccTransGetVoidReason(const Transaction *transaction);
+const char *xaccTransGetVoidReason(const Transaction *transaction);
 
 /** Returns the time that a transaction was voided.
  *

Modified: gnucash/trunk/src/engine/gw-engine-spec.scm
===================================================================
--- gnucash/trunk/src/engine/gw-engine-spec.scm	2006-04-15 03:52:44 UTC (rev 13785)
+++ gnucash/trunk/src/engine/gw-engine-spec.scm	2006-04-15 16:40:03 UTC (rev 13786)
@@ -566,7 +566,7 @@
 (gw:wrap-function
  ws
  'gnc:transaction-get-void-reason
- '(<gw:mchars> callee-owned)
+ '(<gw:mchars> callee-owned const)
  "xaccTransGetVoidReason"
  '((<gnc:Transaction*> transaction))
  "return a string indicating reason for voiding")



More information about the gnucash-changes mailing list