Curl_conncache_foreach: allow callback to break loop
... and have it take a proper 'struct connectdata *' as first argument
This commit is contained in:
parent
2897ce7dc2
commit
1649e680f6
@ -180,10 +180,13 @@ void Curl_conncache_remove_conn(struct conncache *connc,
|
||||
|
||||
/* This function iterates the entire connection cache and calls the
|
||||
function func() with the connection pointer as the first argument
|
||||
and the supplied 'param' argument as the other */
|
||||
and the supplied 'param' argument as the other,
|
||||
|
||||
Return 0 from func() to continue the loop, return 1 to abort it.
|
||||
*/
|
||||
void Curl_conncache_foreach(struct conncache *connc,
|
||||
void *param,
|
||||
void (*func)(void *conn, void *param))
|
||||
int (*func)(struct connectdata *conn, void *param))
|
||||
{
|
||||
struct curl_hash_iterator iter;
|
||||
struct curl_llist_element *curr;
|
||||
@ -208,7 +211,8 @@ void Curl_conncache_foreach(struct conncache *connc,
|
||||
conn = curr->ptr;
|
||||
curr = curr->next;
|
||||
|
||||
func(conn, param);
|
||||
if(1 == func(conn, param))
|
||||
return;
|
||||
}
|
||||
|
||||
he = Curl_hash_next_element(&iter);
|
||||
|
@ -48,7 +48,8 @@ void Curl_conncache_remove_conn(struct conncache *connc,
|
||||
|
||||
void Curl_conncache_foreach(struct conncache *connc,
|
||||
void *param,
|
||||
void (*func)(void *, void *));
|
||||
int (*func)(struct connectdata *conn,
|
||||
void *param));
|
||||
|
||||
struct connectdata *
|
||||
Curl_conncache_find_first_connection(struct conncache *connc);
|
||||
|
Loading…
Reference in New Issue
Block a user