X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzrpn.c;h=fd48152666fe68608dfcdda2d08da2bba9860303;hb=a6908b6d93de84a850a3e558a2e4c17f02c3d651;hp=8a6af0b232e18700975d6b5460e8903ee6f77e26;hpb=b9093505b17a074e79137ed64595c8269f77d330;p=idzebra-moved-to-github.git diff --git a/index/zrpn.c b/index/zrpn.c index 8a6af0b..fd48152 100644 --- a/index/zrpn.c +++ b/index/zrpn.c @@ -4,7 +4,16 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zrpn.c,v $ - * Revision 1.63 1997-09-17 12:19:18 adam + * Revision 1.66 1997-09-25 14:58:03 adam + * Windows NT port. + * + * Revision 1.65 1997/09/22 12:39:06 adam + * Added get_pos method for the ranked result sets. + * + * Revision 1.64 1997/09/18 08:59:20 adam + * Extra generic handle for the character mapping routines. + * + * Revision 1.63 1997/09/17 12:19:18 adam * Zebra version corresponds to YAZ version 1.4. * Changed Zebra server so that it doesn't depend on global common_resource. * @@ -220,7 +229,11 @@ */ #include #include +#ifdef WINDOWS +#include +#else #include +#endif #include #include "zserver.h" @@ -359,7 +372,7 @@ static int term_pre (const char **src, const char *ct1, const char *ct2) if (ct2 && strchr (ct2, *s0)) break; s1 = s0; - map = map_chrs_input (&s1, strlen(s1)); + map = map_chrs_input (0, &s1, strlen(s1)); if (**map != *CHR_SPACE) break; s0 = s1; @@ -380,7 +393,7 @@ static int term_100 (const char **src, char *dst, int space_split) while (*s0) { s1 = s0; - map = map_chrs_input (&s0, strlen(s0)); + map = map_chrs_input (0, &s0, strlen(s0)); if (space_split && **map == *CHR_SPACE) break; while (s1 < s0) @@ -415,7 +428,7 @@ static int term_101 (const char **src, char *dst, int space_split) else { s1 = s0; - map = map_chrs_input (&s0, strlen(s0)); + map = map_chrs_input (0, &s0, strlen(s0)); if (space_split && **map == *CHR_SPACE) break; while (s1 < s0) @@ -456,7 +469,7 @@ static int term_103 (const char **src, char *dst, int *errors, int space_split) else { s1 = s0; - map = map_chrs_input (&s0, strlen(s0)); + map = map_chrs_input (0, &s0, strlen(s0)); if (**map == *CHR_SPACE) break; while (s1 < s0) @@ -819,7 +832,7 @@ static void trans_scan_term (ZServerInfo *zi, Z_AttributesPlusTerm *zapt, while ((len = (cp_end - cp)) > 0) { - map = map_chrs_input (&cp, len); + map = map_chrs_input (0, &cp, len); if (**map == *CHR_SPACE) space_map = *map; else @@ -851,6 +864,7 @@ static RSET rpn_search_APT_relevance (ZServerInfo *zi, parms.key_size = sizeof(struct it_key); parms.max_rec = 1000; parms.cmp = key_compare_it; + parms.get_pos = key_get_pos; parms.is = zi->isam; parms.isc = zi->isamc; parms.no_terms = 0; @@ -1441,7 +1455,7 @@ int rpn_search (ZServerInfo *zi, oident *attrset; oid_value attributeSet; - dict_grep_cmap (zi->dict, map_chrs_input); + dict_grep_cmap (zi->dict, 0, map_chrs_input); zlog_rpn (rpn); zi->errCode = 0;