diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2019-02-02 23:13:47 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2019-02-02 23:13:47 +0100 |
commit | 6f6feddf9a07214e133438c4af4d32064d671a31 (patch) | |
tree | 3f8fa044d8a1e2fccf87a01d758c6207bb4ec8ac /scheme.c | |
parent | Start work on a scheme interface. (diff) | |
download | calp-6f6feddf9a07214e133438c4af4d32064d671a31.tar.gz calp-6f6feddf9a07214e133438c4af4d32064d671a31.tar.xz |
Made code.scm do same stuff as main.
Diffstat (limited to 'scheme.c')
-rw-r--r-- | scheme.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -47,9 +47,16 @@ SCM calendar_get_attr(SCM calendar, SCM id, SCM attr) { return scm_from_strbuf(&c->val); } +SCM number_events(SCM calendar) { + scm_assert_foreign_object_type (calendar_type, calendar); + vcalendar* cal = scm_foreign_object_ref (calendar, 0); + return scm_from_size_t (cal->n_events); +} + void init_calendar () { init_calendar_type(); scm_c_define_gsubr ("make-calendar", 1, 0, 0, make_calendar); scm_c_define_gsubr ("get-attr", 3, 0, 0, calendar_get_attr); + scm_c_define_gsubr ("calendar-size", 1, 0, 0, number_events); } |