const char* range_request_warnings(range_request* rr) { /* for each of the different warning types, create a * warning of the type NO_CLUSTER: ks321-9 | NO_IP: pain,haides */ char* result = NULL; if (!rr->warnings && !rr->warn_type) return ""; if (rr->warn_type) { set_element** members = set_members(rr->warn_type); while (*members) { if (result) result = apr_psprintf(rr->pool, "%s | %s: %s", result, (*members)->name, do_range_compress(rr, (*members)->data)); else result = apr_psprintf(rr->pool, "%s: %s", (*members)->name, do_range_compress(rr, (*members)->data)); members++; } } if (!rr->warnings) return result; if (result) result = apr_psprintf(rr->pool, "%s | %s", result, rr->warnings); else result = rr->warnings; return result; }
const char* range_compress(libcrange* lr, apr_pool_t* p, const char** nodes) { range* r; range_request* rr; if (lr == NULL) lr = get_static_lr(); assert(lr); rr = range_request_new(lr, p); r = range_from_hostnames(rr, nodes); return do_range_compress(rr, r); }
const char* range_request_compressed(range_request* rr) { return do_range_compress(rr, rr->r); }