X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dict%2Flookupec.c;h=95ead8128f0dbf2912e1fc6dd32ddff11ee5942d;hb=b3a6eba6b48be6df19bce22dbf2bc0068df9cfe8;hp=d34027b239f5503a4985e88015e60798c79ca377;hpb=cfecd7d576e8de7cfa19751b8ec7eebf265b2346;p=idzebra-moved-to-github.git diff --git a/dict/lookupec.c b/dict/lookupec.c index d34027b..95ead81 100644 --- a/dict/lookupec.c +++ b/dict/lookupec.c @@ -4,7 +4,17 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: lookupec.c,v $ - * Revision 1.2 1994-09-22 14:43:57 adam + * Revision 1.5 1995-01-24 16:01:03 adam + * Added -ansi to CFLAGS. + * Use new API of dfa module. + * + * Revision 1.4 1994/10/05 12:16:51 adam + * Pagesize is a resource now. + * + * Revision 1.3 1994/09/26 16:31:06 adam + * Minor changes. + * + * Revision 1.2 1994/09/22 14:43:57 adam * First functional version of lookup with error correction. A 'range' * specified the maximum number of insertions+deletions+substitutions. * @@ -14,7 +24,6 @@ * Type 2 is default. depend rule chooses current rule. * */ - #include #include #include @@ -44,7 +53,7 @@ int dict_look_ec (Dict dict, Dict_ptr ptr, MatchInfo *mi, MatchWord *ri_base, dict_bf_readp (dict->dbf, ptr, &p); lo = 0; hi = DICT_nodir(p)-1; - indxp = (short*) ((char*) p+DICT_PAGESIZE-sizeof(short)); + indxp = (short*) ((char*) p+DICT_pagesize(dict)-sizeof(short)); while (lo <= hi) { if (indxp[-lo] > 0) @@ -114,7 +123,8 @@ int dict_look_ec (Dict dict, Dict_ptr ptr, MatchInfo *mi, MatchWord *ri_base, dict_look_ec (dict, subptr, mi, ri, pos+1, userfunc, range, prefix); dict_bf_readp (dict->dbf, ptr, &p); - indxp = (short*) ((char*) p+DICT_PAGESIZE-sizeof(short)); + indxp = (short*) ((char*) p + + DICT_pagesize(dict)-sizeof(short)); } } } @@ -152,12 +162,7 @@ int dict_lookup_ec (Dict dict, Dict_char *pattern, int range, mi = prepare_match (pattern); -#if 1 ri = xmalloc ((dict_strlen(pattern)+range+2)*(range+1)*sizeof(*ri)); -#else - ri = xmalloc (2048 * (range+1) * sizeof(*ri)); -#endif - for (i=0; i<=range; i++) ri[i] = (2<