src/gedlib/gengedc.c
/*======================================================
 * closure_add_key -- add a (top-level) node to the closure
 * we store the key (eg, "I1") and also the tag (eg, "INDI")
 * We give seq a new alloc of the key (tab makes its own)
 * neither gets an alloc of the tag
 *====================================================*/
- add a (top-level) node to the closure
we store the key  and also the tag
We give seq a new alloc of the key (tab makes its own)
neither gets an alloc of the tag
- add a ( top - level ) node to the closure we store the key and also the tag We give seq a new alloc of the key ( tab makes its own ) neither gets an alloc of the tag
static void
closure_add_key (CLOSURE * closure, CNSTRING key, STRING tag)
{
	if (in_table(closure->tab, key)) return;
	if (!key_to_type(key, TRUE))
		return;
	append_indiseq_sval(closure->seq, strsave(key), NULL, strsave(tag),
	    TRUE, TRUE);
	insert_table_int(closure->tab, key, 1);
}
static void closure_add_key ( CLOSURE * closure , CNSTRING key , STRING tag ) { if ( in_table ( closure -> tab , key ) ) return ; if ( ! key_to_type ( key , TRUE ) ) return ; append_indiseq_sval ( closure -> seq , strsave ( key ) , NULL , strsave ( tag ) , TRUE , TRUE ) ; insert_table_int ( closure -> tab , key , 1 ) ; }
closure_add_key -- add a (top-level) node to the closure
 we store the key (eg, "I1") and also the tag (eg, "INDI")
 We give seq a new alloc of the key (tab makes its own)
 neither gets an alloc of the tag
closure_add_key -- add a ( top - level ) node to the closure we store the key ( eg " I1 " ) and also the tag ( eg " INDI " ) We give seq a new alloc of the key ( tab makes its own ) neither gets an alloc of the tag
/* filter for invalid pointers */ /* we'll store the tag as the value 
	 during gengedcom, all append_indiseqs alloc their own keys & vals (tags) */ /* generic tables handle their own allocation of keys & values */ /* we don't use the value at all, only the fact that the
	key is present */