static int lookup_go(AvahiSRBLookup *l) {
    int n = 0;
    assert(l);

    if (l->record_browser->dead)
        return 0;

    lookup_ref(l);

    /* Browse the cache for the root request */
    n = lookup_scan_cache(l);

    /* Start the lookup */
    if (!l->record_browser->dead && l->ref > 1) {

        if ((l->flags & AVAHI_LOOKUP_USE_MULTICAST) || n == 0)
            /* We do no start a query if the cache contained entries and we're on wide area */

            if (lookup_start(l) < 0)
                n = -1;
    }

    lookup_unref(l);

    return n;
}
static int lookup_go(AvahiSRBLookup *l) {
    int n = 0;
    assert(l);

    if (l->record_browser->dead)
        return 0;

    lookup_ref(l);

     
    n = lookup_scan_cache(l);

     
    if (!l->record_browser->dead && l->ref > 1) {

        if ((l->flags & AVAHI_LOOKUP_USE_MULTICAST) || n == 0)
             

            if (lookup_start(l) < 0)
                n = -1;
    }

    lookup_unref(l);

    return n;
}