aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-02-07 10:50:06 -0500
committerNick Mathewson <nickm@torproject.org>2014-02-07 10:50:06 -0500
commitef4eb823f3652cfbf5176c277cb21d30bc20d62a (patch)
treeec718a1034cce7fe170caaaebf9d82c16ad42745
parentbabbd3ff08496bfd3d99f05257279ff6135fb027 (diff)
downloadtor-ef4eb823f3652cfbf5176c277cb21d30bc20d62a.tar
tor-ef4eb823f3652cfbf5176c277cb21d30bc20d62a.tar.gz
Merge the circuit_{free,clear}_cpath functions
(Based on a suggestion by arma at #9777)
-rw-r--r--src/or/circuitlist.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 22224db54..947489636 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -43,7 +43,6 @@ struct global_circuitlist_s global_circuitlist =
/** A list of all the circuits in CIRCUIT_STATE_CHAN_WAIT. */
static smartlist_t *circuits_pending_chans = NULL;
-static void circuit_free_cpath(crypt_path_t *cpath);
static void circuit_free_cpath_node(crypt_path_t *victim);
static void cpath_ref_decref(crypt_path_reference_t *cpath_ref);
@@ -728,7 +727,7 @@ circuit_free(circuit_t *circ)
}
tor_free(ocirc->build_state);
- circuit_free_cpath(ocirc->cpath);
+ circuit_clear_cpath(ocirc);
crypto_pk_free(ocirc->intro_key);
rend_data_free(ocirc->rend_data);
@@ -787,11 +786,14 @@ circuit_free(circuit_t *circ)
tor_free(mem);
}
-/** Deallocate space associated with the linked list <b>cpath</b>. */
-static void
-circuit_free_cpath(crypt_path_t *cpath)
+/** Deallocate the linked list circ-><b>cpath</b>, and remove the cpath from
+ * <b>circ</b>. */
+void
+circuit_clear_cpath(origin_circuit_t *circ)
{
- crypt_path_t *victim, *head=cpath;
+ crypt_path_t *victim, *head, *cpath;
+
+ head = cpath = circ->cpath;
if (!cpath)
return;
@@ -805,13 +807,7 @@ circuit_free_cpath(crypt_path_t *cpath)
}
circuit_free_cpath_node(cpath);
-}
-/** Remove all the items in the cpath on <b>circ</b>.*/
-void
-circuit_clear_cpath(origin_circuit_t *circ)
-{
- circuit_free_cpath(circ->cpath);
circ->cpath = NULL;
}