- info = (struct rset_prox_info *) xmalloc (sizeof(*info));
- memcpy(&info->p, prox_parms, sizeof(struct rset_prox_parms));
- assert(info->p.rset_no >= 2);
- info->p.rset = xmalloc(info->p.rset_no * sizeof(*info->p.rset));
- memcpy(info->p.rset, prox_parms->rset,
- info->p.rset_no * sizeof(*info->p.rset));
- info->rfd_list = NULL;
-
- for (i = 0; i<info->p.rset_no; i++)
- if (rset_is_volatile(info->p.rset[i]))
- ct->flags |= RSET_FLAG_VOLATILE;
-
-#if 0 /* This should all be about terms! */
- *prox_term = '\0';
- for (i = 0; i<info->p.rset_no; i++)
- {
- int j;
- for (j = 0; j < info->p.rset[i]->no_rset_terms; j++)
- {
- const char *nflags = info->p.rset[i]->rset_terms[j]->flags;
- char *term = info->p.rset[i]->rset_terms[j]->name;
- int lterm = strlen(term);
- if (lterm + length_prox_term < sizeof(prox_term)-1)
- {
- if (length_prox_term)
- prox_term[length_prox_term++] = ' ';
- strcpy (prox_term + length_prox_term, term);
- length_prox_term += lterm;
- }
- if (min_nn > info->p.rset[i]->rset_terms[j]->nn)
- min_nn = info->p.rset[i]->rset_terms[j]->nn;
- flags = nflags;
- term_type = info->p.rset[i]->rset_terms[j]->type;
- }
- }
-#endif
- return info;