From 5985aef18a5b441172dcbfea161e6d3e364ee111 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 3 Mar 2004 01:37:54 +0000 Subject: Nth time is the charm on list manip. svn:r1201 --- src/or/circuit.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/or/circuit.c b/src/or/circuit.c index 22a79a764..11eb7a694 100644 --- a/src/or/circuit.c +++ b/src/or/circuit.c @@ -65,14 +65,16 @@ void circuit_close_all_marked() global_circuitlist = tmp; } - if(!global_circuitlist) - return; - - for (tmp = global_circuitlist; tmp->next; tmp=tmp->next) { - while (tmp->next && tmp->next->marked_for_close) { + tmp = global_circuitlist; + while (tmp && tmp->next) { + if (tmp->next->marked_for_close) { m = tmp->next->next; circuit_free(tmp->next); tmp->next = m; + /* Need to check new tmp->next; don't advance tmp. */ + } else { + /* Advance tmp. */ + tmp = tmp->next; } } } @@ -1266,7 +1268,7 @@ void assert_circuit_ok(const circuit_t *c) assert(c); assert(c->magic == CIRCUIT_MAGIC); - return 0; /* XXX fix the rest of this. */ + return; assert(c->n_addr); assert(c->n_port); -- cgit v1.2.3