X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=index%2Fextract.c;h=e092a9b3f7f0e0bb6ad268b5b336eb622fda9551;hp=0d648a6d7de890fbfde525d6f41f7fbf35b54a06;hb=af102b1fb451ba27bfa7343528c4240b3ab3a80b;hpb=bdef6b61d9565342be2f314b5947ada0e2f2099a diff --git a/index/extract.c b/index/extract.c index 0d648a6..e092a9b 100644 --- a/index/extract.c +++ b/index/extract.c @@ -1867,20 +1867,16 @@ void extract_flush_sort_keys(ZebraHandle zh, zint sysno, const char *str; struct it_key key_in; -#define USE_SORT_ENT 1 -#if USE_SORT_ENT NMEM nmem = nmem_create(); struct sort_add_ent { int ord; int cmd; struct sort_add_ent *next; - struct zebra_sort_ent sort_ent; + WRBUF wrbuf; }; struct sort_add_ent *sort_ent_list = 0; -#endif zebra_sort_sysno(si, sysno); -#if USE_SORT_ENT while (zebra_rec_keys_read(reckeys, &str, &slen, &key_in)) { int ord = CAST_ZINT_TO_INT(key_in.mem[0]); @@ -1892,15 +1888,13 @@ void extract_flush_sort_keys(ZebraHandle zh, zint sysno, { *e = nmem_malloc(nmem, sizeof(**e)); (*e)->next = 0; - (*e)->sort_ent.wrbuf = wrbuf_alloc(); - (*e)->sort_ent.num = 0; + (*e)->wrbuf = wrbuf_alloc(); (*e)->ord = ord; (*e)->cmd = cmd; } - wrbuf_write((*e)->sort_ent.wrbuf, str, slen); - wrbuf_putc((*e)->sort_ent.wrbuf, '\0'); - (*e)->sort_ent.num++; + wrbuf_write((*e)->wrbuf, str, slen); + wrbuf_putc((*e)->wrbuf, '\0'); } if (sort_ent_list) { @@ -1909,25 +1903,13 @@ void extract_flush_sort_keys(ZebraHandle zh, zint sysno, { zebra_sort_type(si, e->ord); if (e->cmd == 1) - zebra_sort_add_ent(si, &e->sort_ent); + zebra_sort_add(si, e->wrbuf); else zebra_sort_delete(si); - wrbuf_destroy(e->sort_ent.wrbuf); + wrbuf_destroy(e->wrbuf); } } nmem_destroy(nmem); -#else - while (zebra_rec_keys_read(reckeys, &str, &slen, &key_in)) - { - int ord = CAST_ZINT_TO_INT(key_in.mem[0]); - - zebra_sort_type(si, ord); - if (cmd == 1) - zebra_sort_add(si, str, slen); - else - zebra_sort_delete(si); - } -#endif } }