+ scan_term_untrans (zi->odr, &glist[i+before].term, mterm);
+ parms.is = zi->wordIsam;
+ parms.pos = scan_info_array[j0].list[ptr[j0]].isam_p;
+ rset = rset_create (rset_kind_isam, &parms);
+
+ ptr[j0]++;
+ for (j = j0+1; j<ord_no; j++)
+ {
+ if (ptr[j] < before+after &&
+ (tst=scan_info_array[j].list[ptr[j]].term) &&
+ !strcmp (tst, mterm))
+ {
+ rset_isam_parms parms;
+ rset_bool_parms bool_parms;
+ RSET rset2;
+
+ parms.is = zi->wordIsam;
+ parms.pos = scan_info_array[j].list[ptr[j]].isam_p;
+ rset2 = rset_create (rset_kind_isam, &parms);
+
+ bool_parms.key_size = sizeof(struct it_key);
+ bool_parms.cmp = key_compare;
+ bool_parms.rset_l = rset;
+ bool_parms.rset_r = rset2;
+
+ rset = rset_create (rset_kind_or, &bool_parms);
+
+ ptr[j]++;
+ }
+ }
+ count_set (rset, &glist[i+before].occurrences);
+ rset_delete (rset);
+ }
+ if (i < after)
+ {
+ *num_entries -= (after-i);