X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frpnsearch.c;h=ed114a3aa9a02e8e7f51f6a52d4c43c9123b8843;hb=b2084f54a96f78eede08dda6f98d5ee1f502e91b;hp=7858cfd7a951121ae6919122fdd8da33fcd3b01e;hpb=d8deeadf0ff6606e63ce21b2b2499a40d69e482c;p=idzebra-moved-to-github.git diff --git a/index/rpnsearch.c b/index/rpnsearch.c index 7858cfd..ed114a3 100644 --- a/index/rpnsearch.c +++ b/index/rpnsearch.c @@ -1,4 +1,4 @@ -/* $Id: rpnsearch.c,v 1.23 2007-11-15 08:53:25 adam Exp $ +/* $Id: rpnsearch.c,v 1.26 2007-12-03 14:33:22 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -1345,13 +1345,6 @@ static ZEBRA_RES rpn_search_APT_position(ZebraHandle zh, return ZEBRA_FAIL; } - if (!zh->reg->isamb && !zh->reg->isamc) - { - zebra_setError_zint(zh, YAZ_BIB1_UNSUPP_POSITION_ATTRIBUTE, - position_value); - return ZEBRA_FAIL; - } - if (zebra_apt_get_ord(zh, zapt, index_type, 0, attributeSet, &ord) != ZEBRA_OK) { @@ -1365,13 +1358,9 @@ static ZEBRA_RES rpn_search_APT_position(ZebraHandle zh, { assert(*val == sizeof(ISAM_P)); memcpy(&isam_p, val+1, sizeof(isam_p)); - - if (zh->reg->isamb) - *rset = rsisamb_create(rset_nmem, kc, kc->scope, - zh->reg->isamb, isam_p, 0); - else if (zh->reg->isamc) - *rset = rsisamc_create(rset_nmem, kc, kc->scope, - zh->reg->isamc, isam_p, 0); + + *rset = zebra_create_rset_isam(zh, rset_nmem, kc, kc->scope, + isam_p, 0); } return ZEBRA_OK; } @@ -1408,7 +1397,12 @@ static ZEBRA_RES rpn_search_APT_phrase(ZebraHandle zh, rset_nmem, &first_set, kc); if (res != ZEBRA_OK) + { + int i; + for (i = 0; i