+ struct rset_isam_info *info = (struct rset_isam_info *) ct->buf;
+ struct rset_ispt_info *ptinfo;
+
+ logf (LOG_DEBUG, "risam_open");
+ if (flag & RSETF_WRITE)
+ {
+ logf (LOG_FATAL, "ISAM set type is read-only");
+ return NULL;
+ }
+ ptinfo = (struct rset_ispt_info *) xmalloc (sizeof(*ptinfo));
+ ptinfo->next = info->ispt_list;
+ info->ispt_list = ptinfo;
+ ptinfo->pt = is_position (info->is, info->pos);
+ ptinfo->info = info;
+
+ if (ct->rset_terms[0]->nn < 0)
+ ct->rset_terms[0]->nn = is_numkeys (ptinfo->pt);
+ return ptinfo;