X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dict%2Finsert.c;h=dfed5947900bbed64148d7ad192b4cd7a3568994;hb=1ac398a3d8c593e1e361e696e26e8205587327b5;hp=f6c5df863f4b1e0c9df4d476480d6060ebf01ee4;hpb=a030c87bc444608639905eca95e29f84a4f1d991;p=idzebra-moved-to-github.git diff --git a/dict/insert.c b/dict/insert.c index f6c5df8..dfed594 100644 --- a/dict/insert.c +++ b/dict/insert.c @@ -19,6 +19,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +#if HAVE_CONFIG_H +#include +#endif #include #include #include @@ -96,7 +99,7 @@ static int split_page(Dict dict, Dict_ptr ptr, void *p) best_indxp = indxp; } } - else + else { /* new char prefix. restore */ prev_char = dc; no_current = 1; @@ -142,7 +145,7 @@ static int split_page(Dict dict, Dict_ptr ptr, void *p) } static void clean_page(Dict dict, Dict_ptr ptr, void *p, Dict_char *out, - Dict_ptr subptr, char *userinfo) + Dict_ptr subptr, char *userinfo) { char *np = (char *) xmalloc(dict->head.page_size); int i, slen, no = 0; @@ -177,8 +180,8 @@ static void clean_page(Dict dict, Dict_ptr ptr, void *p, Dict_char *out, info2 += *userinfo + 1; } else - *info2++ = 0; - subptr = 0; + *info2++ = 0; + subptr = 0; ++no; continue; } @@ -208,7 +211,7 @@ static void clean_page(Dict dict, Dict_ptr ptr, void *p, Dict_char *out, ++no; } #if 1 - memcpy((char*)p+DICT_infoffset, + memcpy((char*)p+DICT_infoffset, (char*)np+DICT_infoffset, info2 - ((char*)np+DICT_infoffset)); memcpy((char*)p + ((char*)indxp2 - (char*)np), @@ -240,7 +243,7 @@ static int dict_ins(Dict dict, const Dict_char *str, void *p; dict_bf_readp(dict->dbf, ptr, &p); - + assert(p); assert(ptr); @@ -338,7 +341,7 @@ static int dict_ins(Dict dict, const Dict_char *str, return dict_ins(dict, str-1, ptr, userlen, userinfo); } - if (split_page(dict, ptr, p)) + if (split_page(dict, ptr, p)) { yaz_log(YLOG_FATAL, "Unable to split page %d\n", ptr); assert(0);