Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
const char* range_request_compressed(range_request* rr)
{
    return do_range_compress(rr, rr->r);
}