X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gom%2Fsubmission.c;h=3fe9b4041ffaece01f2c45cad5be84ef4cc1c485;hb=1568cb8ab16ecc1984d0d00b8ae8189c32508b08;hp=a72df9aad7c2e47d864cbc09c398f099acb5aa47;hpb=bdf47fdee469d5a1d7ddfd06a0e4b26f3b40b0f4;p=gedcom-parse.git diff --git a/gom/submission.c b/gom/submission.c index a72df9a..3fe9b40 100644 --- a/gom/submission.c +++ b/gom/submission.c @@ -80,7 +80,7 @@ struct submission* gom_get_submission() return gom_submission; } -struct submission* make_submission_record(char* xref) +struct submission* make_submission_record(const char* xref) { if (! gom_submission) { gom_submission = (struct submission*)malloc(sizeof(struct submission)); @@ -95,3 +95,38 @@ struct submission* make_submission_record(char* xref) return gom_submission; } + +int write_submission(Gedcom_write_hndl hndl) +{ + int result = 0; + + if (gom_submission) { + result |= gedcom_write_record_str(hndl, REC_SUBN, 0, + gom_submission->xrefstr, NULL); + if (gom_submission->submitter) + result |= gedcom_write_element_xref(hndl, ELT_SUBN_SUBM, 0, + REC_SUBN, gom_submission->submitter); + if (gom_submission->family_file) + result |= gedcom_write_element_str(hndl, ELT_SUBN_FAMF, 0, REC_SUBN, + gom_submission->family_file); + if (gom_submission->temple_code) + result |= gedcom_write_element_str(hndl, ELT_SUBN_TEMP, 0, REC_SUBN, + gom_submission->temple_code); + if (gom_submission->nr_of_ancestor_gens) + result |= gedcom_write_element_str(hndl, ELT_SUBN_ANCE, 0, REC_SUBN, + gom_submission->nr_of_ancestor_gens); + if (gom_submission->nr_of_descendant_gens) + result |= gedcom_write_element_str(hndl, ELT_SUBN_DESC, 0, REC_SUBN, + gom_submission->nr_of_descendant_gens); + if (gom_submission->ordinance_process_flag) + result |= gedcom_write_element_str(hndl, ELT_SUBN_ORDI, 0, REC_SUBN, + gom_submission->ordinance_process_flag); + if (gom_submission->record_id) + result |= gedcom_write_element_str(hndl, ELT_SUBN_RIN, 0, REC_SUBN, + gom_submission->record_id); + if (gom_submission->extra) + result |= write_user_data(hndl, gom_submission->extra); + } + + return result; +}