dlugolecki.net.pl
Dziennik
Polecane
Software
projects
/
gedcom-parse.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improved context handling, to allow elements out of context.
[gedcom-parse.git]
/
gom
/
family_link.c
diff --git
a/gom/family_link.c
b/gom/family_link.c
index cb5435be90781d1f18c3726236479e3da24319de..fe3f67997aa1f5d9872a25ff555ecc984d74d4de 100644
(file)
--- a/
gom/family_link.c
+++ b/
gom/family_link.c
@@
-41,13
+41,14
@@
Gedcom_ctxt sub_fam_link_start(_ELT_PARAMS_)
else {
struct family_link *link = SUB_MAKEFUNC(family_link)();
if (link) {
else {
struct family_link *link = SUB_MAKEFUNC(family_link)();
if (link) {
+ int type = ctxt_type(ctxt);
link->family = GEDCOM_XREF_PTR(parsed_value);
link->family = GEDCOM_XREF_PTR(parsed_value);
- switch (
ctxt->ctxt_
type) {
+ switch (type) {
case REC_INDI:
ADDFUNC2(individual,family_link)(ctxt, elt, link); break;
default:
case REC_INDI:
ADDFUNC2(individual,family_link)(ctxt, elt, link); break;
default:
- UNEXPECTED_CONTEXT(
ctxt->ctxt_
type);
+ UNEXPECTED_CONTEXT(type);
}
result = MAKE_GOM_CTXT(elt, family_link, link);
}
}
result = MAKE_GOM_CTXT(elt, family_link, link);
}
@@
-84,6
+85,10
@@
Gedcom_ctxt sub_fam_link_pedi_start(_ELT_PARAMS_)
}
DEFINE_SUB_MAKEFUNC(family_link)
}
DEFINE_SUB_MAKEFUNC(family_link)
+DEFINE_SUB_ADDFUNC(family_link)
+DEFINE_SUB_FINDFUNC(family_link)
+DEFINE_SUB_REMOVEFUNC(family_link)
+DEFINE_SUB_MOVEFUNC(family_link)
DEFINE_ADDFUNC2(family_link, note_sub, note)
DEFINE_ADDFUNC2(family_link, user_data, extra)
DEFINE_ADDFUNC2(family_link, note_sub, note)
DEFINE_ADDFUNC2(family_link, user_data, extra)
@@
-115,6
+120,12
@@
void CLEANFUNC(pedigree)(struct pedigree* ped)
}
}
}
}
+DEFINE_SUB_MAKEFUNC(pedigree)
+DEFINE_SUB_ADDFUNC(pedigree)
+DEFINE_SUB_FINDFUNC(pedigree)
+DEFINE_SUB_REMOVEFUNC(pedigree)
+DEFINE_SUB_MOVEFUNC(pedigree)
+
void UNREFALLFUNC(family_link)(struct family_link* obj)
{
if (obj) {
void UNREFALLFUNC(family_link)(struct family_link* obj)
{
if (obj) {