fix recursive functions that manipulate tries
This commit is contained in:
@@ -57,6 +57,23 @@ STD_PROTO(static inline tg_sol_fr_ptr CUT_prune_tg_solution_frames, (tg_sol_fr_p
|
||||
|
||||
|
||||
|
||||
/* ----------------- **
|
||||
** Defines **
|
||||
** ----------------- */
|
||||
|
||||
#define TRAVERSE_MODE_NORMAL 0
|
||||
#define TRAVERSE_MODE_FLOAT 1
|
||||
#define TRAVERSE_MODE_FLOAT2 2
|
||||
#define TRAVERSE_MODE_FLOAT_END 3
|
||||
#define TRAVERSE_MODE_LONG 4
|
||||
#define TRAVERSE_MODE_LONG_END 5
|
||||
/* do not change order !!! */
|
||||
#define TRAVERSE_POSITION_NEXT 0
|
||||
#define TRAVERSE_POSITION_FIRST 1
|
||||
#define TRAVERSE_POSITION_LAST 2
|
||||
|
||||
|
||||
|
||||
/* ----------------------- **
|
||||
** Tabling Macros **
|
||||
** ----------------------- */
|
||||
@@ -609,7 +626,7 @@ void abolish_incomplete_subgoals(choiceptr prune_cp) {
|
||||
node = TrNode_child(SgFr_answer_trie(sg_fr));
|
||||
TrNode_child(SgFr_answer_trie(sg_fr)) = NULL;
|
||||
UNLOCK(SgFr_lock(sg_fr));
|
||||
free_answer_trie_branch(node);
|
||||
free_answer_trie_branch(node, TRAVERSE_POSITION_FIRST);
|
||||
#endif /* INCOMPLETE_TABLING */
|
||||
}
|
||||
#ifdef LIMIT_TABLING
|
||||
|
Reference in New Issue
Block a user