Commit e0b63493 by Joseph Arceneaux

### * intervals.c (traverse_intervals): New parameter `depth'.

`	Increment this when passing recursively.`
parent 433c2175
 ... @@ -173,29 +173,25 @@ static int icount; ... @@ -173,29 +173,25 @@ static int icount; static int idepth; static int idepth; static int zero_length; static int zero_length; static int depth; /* Traverse an interval tree TREE, performing FUNCTION on each node. /* Traverse an interval tree TREE, performing FUNCTION on each node. Perhaps we should pass the depth as an argument. */ Perhaps we should pass the depth as an argument. */ void void traverse_intervals (tree, position, function) traverse_intervals (tree, position, depth, function) INTERVAL tree; INTERVAL tree; int position; int position, depth; void (* function) (); void (* function) (); { { if (NULL_INTERVAL_P (tree)) if (NULL_INTERVAL_P (tree)) return; return; depth++; traverse_intervals (tree->left, position, depth + 1, function); traverse_intervals (tree->left, position, function); position += LEFT_TOTAL_LENGTH (tree); position += LEFT_TOTAL_LENGTH (tree); tree->position = position; tree->position = position; (*function) (tree); (*function) (tree); position += LENGTH (tree); position += LENGTH (tree); traverse_intervals (tree->right, position, function); traverse_intervals (tree->right, position, depth + 1, function); depth--; } } #if 0 #if 0 ... @@ -221,7 +217,7 @@ search_for_interval (i, tree) ... @@ -221,7 +217,7 @@ search_for_interval (i, tree) icount = 0; icount = 0; search_interval = i; search_interval = i; found_interval = NULL_INTERVAL; found_interval = NULL_INTERVAL; traverse_intervals (tree, 1, &check_for_interval); traverse_intervals (tree, 1, 0, &check_for_interval); return found_interval; return found_interval; } } ... @@ -243,7 +239,7 @@ count_intervals (i) ... @@ -243,7 +239,7 @@ count_intervals (i) icount = 0; icount = 0; idepth = 0; idepth = 0; zero_length = 0; zero_length = 0; traverse_intervals (i, 1, &inc_interval_count); traverse_intervals (i, 1, 0, &inc_interval_count); return icount; return icount; } } ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!