-/* $Id: zrpn.c,v 1.152 2004-09-14 14:38:07 quinn Exp $
+/* $Id: zrpn.c,v 1.154 2004-09-28 16:39:46 heikki Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
Index Data Aps
NMEM rset_nmem)
{
char term_dst[IT_MAX_WORD+1];
- RSET rset[60], result;
- int i, rset_no = 0;
+ RSET rset[60]; /* FIXME - bug 160 - should be dynamic somehow */
+ int rset_no = 0;
struct grep_info grep_info;
char *termz = normalize_term(zh, zapt, termz_org, stream, reg_type);
const char *termp = termz;
grep_info_delete (&grep_info);
if (rset_no == 0)
return rsnull_create (rset_nmem,key_it_ctrl);
- result = rset[0];
- /* FIXME - Use a proper rsmultiand */
- for (i = 1; i<rset_no; i++)
- result= rsbool_create_and(rset_nmem,key_it_ctrl,key_it_ctrl->scope,
- result, rset[i] );
- return result;
+
+ return rsmultiand_create( rset_nmem, key_it_ctrl, key_it_ctrl->scope,
+ rset_no, rset);
}
static int numeric_relation (ZebraHandle zh, Z_AttributesPlusTerm *zapt,
sys = atoi(termz);
if (sys <= 0)
sys = 1;
-#if IT_KEY_NEW
key.mem[0] = sys;
key.mem[1] = 1;
key.len = 2;
-#else
- key.sysno = sys;
- key.seqno = 1;
- if (key.sysno <= 0)
- key.sysno = 1;
-#endif
rset_write (rsfd, &key);
rset_close (rsfd);
return result;
rfd = rset_open (r, RSETF_READ);
while (rset_read (rfd, &key))
{
-#if IT_KEY_NEW
if (key.mem[0] != psysno)
{
psysno = key.mem[0];
(*count)++;
}
-#else
- if (key.sysno != psysno)
- {
- psysno = key.sysno;
- (*count)++;
- }
-#endif
kno++;
}
rset_close (rfd);