X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;ds=sidebyside;f=gom%2Fsource_event.c;h=fea635184a8c6652d087576837ed7be9a73d7c57;hb=082066d0c776403b70c366f9a7d1333c7a9fac15;hp=f7c7a8d2a1072dab43f799408fcaa59adbaec56f;hpb=bdf47fdee469d5a1d7ddfd06a0e4b26f3b40b0f4;p=gedcom-parse.git diff --git a/gom/source_event.c b/gom/source_event.c index f7c7a8d..fea6351 100644 --- a/gom/source_event.c +++ b/gom/source_event.c @@ -94,3 +94,24 @@ void source_event_cleanup(struct source_event* evt) DESTROY_CHAIN_ELTS(user_data, evt->extra, user_data_cleanup); } } + +int write_source_events(Gedcom_write_hndl hndl, int parent, + struct source_event *evt) +{ + int result = 0; + struct source_event* obj; + + if (!evt) return 1; + + for (obj = evt; obj; obj = obj->next) { + result |= gedcom_write_element_str(hndl, ELT_SOUR_DATA_EVEN, 0, + parent, obj->recorded_events); + if (obj->jurisdiction) + result |= gedcom_write_element_str(hndl, ELT_SOUR_DATA_EVEN_PLAC, 0, + ELT_SOUR_DATA_EVEN, obj->jurisdiction); + if (obj->extra) + result |= write_user_data(hndl, obj->extra); + } + + return result; +}