diff --git a/src/base-typemaps.i b/src/base-typemaps.i index 9b37f09e54..1e061774d3 100644 --- a/src/base-typemaps.i +++ b/src/base-typemaps.i @@ -26,6 +26,8 @@ typedef char gchar; %typemap(in) Timespec "$1 = gnc_timepair2timespec($input);" %typemap(out) Timespec "$result = gnc_timespec2timepair($1);" +%typemap(in) GDate "$1 = gnc_timepair_to_GDate($input);" + %typemap(in) GncGUID "$1 = gnc_scm2guid($input);" %typemap(out) GncGUID "$result = gnc_guid2scm($1);" %typemap(in) GncGUID * (GncGUID g) " g = gnc_scm2guid($input); $1 = &g; " diff --git a/src/engine/engine-helpers.c b/src/engine/engine-helpers.c index efe60d93aa..e431901ba3 100644 --- a/src/engine/engine-helpers.c +++ b/src/engine/engine-helpers.c @@ -111,6 +111,12 @@ gnc_timepair2timespec(SCM x) return(result); } +GDate gnc_timepair_to_GDate(SCM x) +{ + Timespec tspec = gnc_timepair2timespec(x); + return timespec_to_gdate(tspec); +} + int gnc_timepair_p(SCM x) { diff --git a/src/engine/engine-helpers.h b/src/engine/engine-helpers.h index f3184c5551..202e1d9d2e 100644 --- a/src/engine/engine-helpers.h +++ b/src/engine/engine-helpers.h @@ -47,6 +47,7 @@ void gnc_transaction_set_date(Transaction *t, Timespec ts); SCM gnc_timespec2timepair(Timespec t); Timespec gnc_timepair2timespec(SCM x); +GDate gnc_timepair_to_GDate(SCM x); int gnc_timepair_p(SCM x); SCM gnc_guid2scm(GncGUID guid);