- struct rset_pp_info *pinfo = (struct rset_pp_info *) rfd;
- int r;
- *term_index = 0;
- r = isamb_pp_read(pinfo->pt, buf);
- if (r > 0)
- {
- if (*pinfo->countp == 0 || (*pinfo->info->cmp)(buf, pinfo->buf) > 1)
- {
- memcpy (pinfo->buf, buf, pinfo->info->key_size);
- (*pinfo->countp)++;
- }
- }
- return r;
+ struct rset_pp_info *pinfo=(struct rset_pp_info *)(rfd->priv);
+ assert(rfd);
+ isamb_pp_pos(pinfo->pt, current, total);
+#if RSET_DEBUG
+ logf(LOG_DEBUG,"isamb.r_pos returning %0.1f/%0.1f",
+ *current, *total);
+#endif
+}
+
+static int r_read (RSFD rfd, void *buf)
+{
+ struct rset_pp_info *pinfo=(struct rset_pp_info *)(rfd->priv);
+
+ return isamb_pp_read(pinfo->pt, buf);