src/gedlib/lldatabase.c
/*========================================
 * lldb_close -- Close any database contained. 
 *  Free LLDATABASE structure.
 *  Safe to call even if not opened
 *======================================*/
- Close any database contained.
Free LLDATABASE structure.
Safe to call even if not opened
- Close any database contained . Free LLDATABASE structure . Safe to call even if not opened
void lldb_close (LLDATABASE *plldb)
{
	LLDATABASE lldb=0;
	ASSERT(plldb);
	lldb = *plldb;
	if (!lldb) return;
	if (tagtable)
		destroy_table(tagtable);
	tagtable = 0;
	if (placabbvs) {
		destroy_table(placabbvs);
		placabbvs = NULL;
	}
	free_caches();
	check_node_leaks();
	term_node_allocator();
	check_record_leaks();
	closexref();
	ASSERT(BTR == lldb->btree);
	if (lldb->btree) {
		closebtree(lldb->btree);
		lldb->btree = 0;
		BTR = 0;
	}
	dbnotify_close();
	transl_free_predefined_xlats(); 
	strfree(&readpath_file);
	strfree(&readpath);
	stdfree(lldb);
	*plldb = 0;
}
void lldb_close ( LLDATABASE * plldb ) { LLDATABASE lldb = 0 ; ASSERT ( plldb ) ; lldb = * plldb ; if ( ! lldb ) return ; if ( tagtable ) destroy_table ( tagtable ) ; tagtable = 0 ; if ( placabbvs ) { destroy_table ( placabbvs ) ; placabbvs = NULL ; } free_caches ( ) ; check_node_leaks ( ) ; term_node_allocator ( ) ; check_record_leaks ( ) ; closexref ( ) ; ASSERT ( BTR == lldb -> btree ) ; if ( lldb -> btree ) { closebtree ( lldb -> btree ) ; lldb -> btree = 0 ; BTR = 0 ; } dbnotify_close ( ) ; transl_free_predefined_xlats ( ) ; strfree ( & readpath_file ) ; strfree ( & readpath ) ; stdfree ( lldb ) ; * plldb = 0 ; }
lldb_close -- Close any database contained.
lldb_close -- Close any database contained .
/* TODO: reverse the rest of init_lifelines_postdb -- Perry, 2002.06.05 */ /* clear any active legacy translation tables */