- result = rset_trunc (zi->wordIsam, grep_info.isam_p_buf,
- grep_info.isam_p_indx);
- xfree (grep_info.isam_p_buf);
- return result;
-}
-static RSET rpn_search_APT_word (ZServerInfo *zi,
- Z_AttributesPlusTerm *zapt,
- oid_value attributeSet,
- int num_bases, char **basenames)
-{
- rset_isam_parms parms;
- char termz[IT_MAX_WORD+1];
- struct grep_info grep_info;
- RSET result;
-
- if (zapt->term->which != Z_Term_general)
- {
- zi->errCode = 124;
- return NULL;
- }
- trans_term (zi, zapt, termz);
-
- grep_info.isam_p_indx = 0;
- grep_info.isam_p_size = 0;
- grep_info.isam_p_buf = NULL;
-
- if (field_term (zi, zapt, termz, 'w', attributeSet, &grep_info,
- num_bases, basenames))
- return NULL;
- if (grep_info.isam_p_indx < 1)
- result = rset_create (rset_kind_null, NULL);
- else if (grep_info.isam_p_indx == 1)
- {
- parms.is = zi->wordIsam;
- parms.pos = *grep_info.isam_p_buf;
- result = rset_create (rset_kind_isam, &parms);
- }
- else
- result = rset_trunc (zi->wordIsam, grep_info.isam_p_buf,