gnucash stable: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Sat Jan 6 06:51:14 EST 2024
Updated via https://github.com/Gnucash/gnucash/commit/2918577a (commit)
via https://github.com/Gnucash/gnucash/commit/5bf9ca0b (commit)
from https://github.com/Gnucash/gnucash/commit/0879570c (commit)
commit 2918577a3dce128a26424abbf51b8153e302feb5
Merge: 0879570cb2 5bf9ca0b55
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Jan 6 17:25:30 2024 +0800
Merge branch 'stable-leaks' into stable #1839
commit 5bf9ca0b55a040b58f7fea76a38d0a01602dbc2d
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Dec 11 22:10:37 2023 +0800
QofIdType and QofIdTypeConst: handle similarly to const char*
Previous swigged function- note the `new` is never deleted. Because
they are both const char*, they must be swigged similarly to strings.
static SCM
_wrap_QOF_ID_BOOK_SCM ()
{
#define FUNC_NAME "QOF-ID-BOOK-SCM"
SCM gswig_result;
SWIGUNUSED int gswig_list_p = 0;
QofIdTypeConst result;
result = QOF_ID_BOOK_SCM();
{
QofIdTypeConst * resultptr;
resultptr = new QofIdTypeConst((const QofIdTypeConst &) result);
gswig_result = SWIG_NewPointerObj (resultptr, SWIGTYPE_p_QofIdTypeConst, 1);
}
return gswig_result;
#undef FUNC_NAME
}
After this change:
static SCM
_wrap_QOF_ID_BOOK_SCM ()
{
#define FUNC_NAME "QOF-ID-BOOK-SCM"
SCM gswig_result;
SWIGUNUSED int gswig_list_p = 0;
QofIdType result;
result = QOF_ID_BOOK_SCM();
gswig_result = result ? scm_from_utf8_string (result) : SCM_BOOL_F;
return gswig_result;
#undef FUNC_NAME
}
diff --git a/common/base-typemaps.i b/common/base-typemaps.i
index e70a365a56..5b807f0005 100644
--- a/common/base-typemaps.i
+++ b/common/base-typemaps.i
@@ -69,6 +69,16 @@ typedef char gchar;
%typemap(in) time64 * (time64 t) "t = scm_to_int64($input); $1 = &t;"
%typemap(out) time64 * " $result = ($1) ? scm_from_int64(*($1)) : SCM_BOOL_F; "
+%typemap(in) QofIdType " $1 = scm_to_utf8_string ($input); "
+%typemap(out) QofIdType " $result = $1 ? scm_from_utf8_string ($1) : SCM_BOOL_F; "
+%typemap(freearg) QofIdType " g_free ((gpointer)$1); "
+%typemap(newfree) QofIdType " g_free ((gpointer)$1); "
+
+%typemap(in) QofIdTypeConst " $1 = scm_to_utf8_string ($input); "
+%typemap(out) QofIdTypeConst " $result = $1 ? scm_from_utf8_string ($1) : SCM_BOOL_F; "
+%typemap(freearg) QofIdTypeConst " g_free ((gpointer)$1); "
+%typemap(newfree) QofIdTypeConst " g_free ((gpointer)$1); "
+
%typemap(in) struct tm * (struct tm t, char *tzone) {
SCM tm = $input;
t.tm_sec = scm_to_int(SCM_SIMPLE_VECTOR_REF(tm, 0));
Summary of changes:
common/base-typemaps.i | 10 ++++++++++
1 file changed, 10 insertions(+)
More information about the gnucash-changes
mailing list