[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