From 0866a83d33a75a78fdbfafdeea1ebc0dde2d6f26 Mon Sep 17 00:00:00 2001 From: Chris Shoemaker Date: Tue, 14 Nov 2006 02:10:14 +0000 Subject: [PATCH] Add a custom SWIG typemap for wrapping a return value of (char *)NULL as an empty guile string. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15113 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/base-typemaps.i | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/base-typemaps.i b/src/base-typemaps.i index cc4255af48..d33a1d61b4 100644 --- a/src/base-typemaps.i +++ b/src/base-typemaps.i @@ -25,7 +25,12 @@ typedef char * URLType; typedef char gchar; %typemap(newfree) gchar * "g_free($1);" - +%typemap (out) char * { + $result = scm_makfrom0str((const char *)$1); + if (!SCM_NFALSEP($result)) { + $result = scm_makstr(0, 0); + } +} %typemap(in) GNCPrintAmountInfo "$1 = gnc_scm2printinfo($input);" %typemap(out) GNCPrintAmountInfo "$result = gnc_printinfo2scm($1);"