static int pi_row_end(void *p, unsigned row) { struct port_info *pi = p; struct domain *dom; assert(pi != NULL); if (!row) /* ignore first row */ return 0; if (!pi->domain || !pi->canonical) return -1; dom = dom_create(pi->domain); if (!dom) return -1; ha_add(dom, pi->canonical); Debug("listening... %s:%s\n", pi->addr, pi->port); if (net_listen(li_server_create, dom, pi->addr, pi->port)) { Error("Unable to listen (%s:%s)\n", pi->addr, pi->port); return -1; } pi_free(pi); return 0; }
static int pi_row_end(void *p, unsigned row) { struct port_info *pi = p; struct domain *dom; assert(pi != NULL); if (!row) /* ignore first row */ return 0; if (!pi->domain || !pi->canonical) return -1; dom = dom_create(pi->domain); if (!dom) return -1; ha_add(dom, pi->canonical); if (ht_listen(pi->addr, pi->port)) return -1; pi_free(pi); return 0; }