-/* $Id: rpnscan.c,v 1.8 2007-04-16 21:54:37 adam Exp $
+/* $Id: rpnscan.c,v 1.10 2007-05-08 14:49:38 adam Exp $
Copyright (C) 1995-2007
Index Data ApS
if (trans_scan_term(zh, zapt, termz+prefix_len, index_type) ==
ZEBRA_FAIL)
+ {
+ for (i = 0; i < ord_no; i++)
+ wrbuf_destroy(ar[i].term);
return ZEBRA_FAIL;
+ }
wrbuf_rewind(ar[i].term);
wrbuf_puts(ar[i].term, termz + prefix_len);
ar[i].isam_p = 0;
*list = glist;
+ for (i = 0; i < ord_no; i++)
+ wrbuf_destroy(ar[i].term);
+
return ZEBRA_OK;
}
};
ZEBRA_RES rpn_scan(ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
- const int *attributeset,
+ const Odr_oid *attributeset,
int num_bases, char **basenames,
int *position, int *num_entries, ZebraScanEntry **list,
int *is_partial, RSET limit_set)
if (termset_value_numeric != -2)
{
-
sprintf(resname, "%d", termset_value_numeric);
termset_name = resname;
}
termset_name = termset_value_string;
limit_set = resultSetRef (zh, termset_name);
+
+ if (!limit_set)
+ {
+ zebra_setError(zh,
+ YAZ_BIB1_SPECIFIED_RESULT_SET_DOES_NOT_EXIST,
+ termset_name);
+ return ZEBRA_FAIL;
+ }
}
}