+RSET rsmultior_create( NMEM nmem, int key_size,
+ int (*cmp)(const void *p1, const void *p2),
+ int no_rsets, RSET* rsets)
+{
+ RSET rnew=rset_create_base(&control, nmem);
+ struct rset_multior_info *info;
+ info = (struct rset_multior_info *) nmem_malloc(rnew->nmem,sizeof(*info));
+ info->key_size = key_size;
+ info->cmp = cmp;
+ info->no_rsets=no_rsets;
+ info->rsets=(RSET*)nmem_malloc(rnew->nmem, no_rsets*sizeof(*rsets));
+ memcpy(info->rsets,rsets,no_rsets*sizeof(*rsets));
+ info->rfd_list = NULL;
+ rnew->priv=info;
+ return rnew;
+}
+
+static void r_delete (RSET ct)
+{
+ struct rset_multior_info *info = (struct rset_multior_info *) ct->priv;
+ int i;
+
+ assert (info->rfd_list == NULL);
+ for(i=0;i<info->no_rsets;i++)
+ rset_delete(info->rsets[i]);
+/* xfree(info->rsets); */ /* nmem'd */
+/* xfree(info); */ /* nmem'd */
+}
+#if 0