- break;
- scan_term_untrans(zh, stream->mem, reg_id,
- &glist[i+before].term, mterm);
- rset = rset_trunc(zh, &scan_info_array[j0].list[ptr[j0]].isam_p, 1,
- glist[i+before].term, strlen(glist[i+before].term),
- NULL, 0, zapt->term->which, rset_nmem,
- key_it_ctrl,key_it_ctrl->scope);
- ptr[j0]++;
+ break; /* no value found, stop */
+
+ /* get result set for first one , but only if it's within bounds */
+ if (lo >= 0)
+ {
+ /* get result set for first term */
+ scan_term_untrans(zh, stream->mem, reg_id,
+ &glist[lo].term, mterm);
+ rset = rset_trunc(zh, &scan_info_array[j0].list[ptr[j0]].isam_p, 1,
+ glist[lo].term, strlen(glist[lo].term),
+ NULL, 0, zapt->term->which, rset_nmem,
+ key_it_ctrl,key_it_ctrl->scope);
+ }
+ ptr[j0]++; /* move index for this set .. */
+ /* get result set for remaining scan terms */