diff options
author | Nick Mathewson <nickm@torproject.org> | 2014-02-07 10:50:06 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2014-02-07 10:50:06 -0500 |
commit | ef4eb823f3652cfbf5176c277cb21d30bc20d62a (patch) | |
tree | ec718a1034cce7fe170caaaebf9d82c16ad42745 /src | |
parent | babbd3ff08496bfd3d99f05257279ff6135fb027 (diff) | |
download | tor-ef4eb823f3652cfbf5176c277cb21d30bc20d62a.tar tor-ef4eb823f3652cfbf5176c277cb21d30bc20d62a.tar.gz |
Merge the circuit_{free,clear}_cpath functions
(Based on a suggestion by arma at #9777)
Diffstat (limited to 'src')
-rw-r--r-- | src/or/circuitlist.c | 20 |
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; } |