int citrusleaf_info(char *hostname, short port, char *names, char **values, int timeout_ms) { int rv = -1; cf_vector sockaddr_in_v; cf_vector_init(&sockaddr_in_v, sizeof( struct sockaddr_in ), 5, 0); if (0 != cl_lookup(NULL, hostname, port, &sockaddr_in_v)) { cf_debug("Could not find host %s", hostname); goto Done; } for (uint i=0; i < cf_vector_size(&sockaddr_in_v) ; i++) { struct sockaddr_in sa_in; cf_vector_get(&sockaddr_in_v, i, &sa_in); if (0 == citrusleaf_info_host(&sa_in, names, values, timeout_ms, false)) { rv = 0; goto Done; } } Done: cf_vector_destroy( &sockaddr_in_v ); return(rv); }
int citrusleaf_info(char *hostname, short port, char *names, char **values, int timeout_ms) { int rv = -1; as_vector sockaddr_in_v; as_vector_inita(&sockaddr_in_v, sizeof(struct sockaddr_in), 5); if (! as_lookup(NULL, hostname, port, true, &sockaddr_in_v)) { goto Done; } for (uint32_t i = 0; i < sockaddr_in_v.size; i++) { struct sockaddr_in* sa_in = as_vector_get(&sockaddr_in_v, i); if (0 == citrusleaf_info_host(sa_in, names, values, timeout_ms, true, /* check bounds */ true)) { rv = 0; goto Done; } } Done: as_vector_destroy(&sockaddr_in_v); return(rv); }