X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Freclists.c;h=35aaede6ba4e964f76dc33e75def80c0b0941233;hb=c2705b2bc91f199440a2adad7c3274bcdcce6509;hp=e0bf96d4a5294a898cad0865bbcd03f8ee2d3346;hpb=f195eff4764999fcd7c14e474c6ecb7862b3800f;p=pazpar2-moved-to-github.git diff --git a/src/reclists.c b/src/reclists.c index e0bf96d..35aaede 100644 --- a/src/reclists.c +++ b/src/reclists.c @@ -1,4 +1,4 @@ -/* $Id: reclists.c,v 1.10 2007-04-16 13:57:25 marc Exp $ +/* $Id: reclists.c,v 1.13 2007-04-25 08:07:47 marc Exp $ Copyright (c) 2006-2007, Index Data. This file is part of Pazpar2. @@ -204,20 +204,23 @@ struct reclist *reclist_create(NMEM nmem, int numrecs) } // Insert a record. Return record cluster (newly formed or pre-existing) -struct record_cluster *reclist_insert( struct conf_service *service, - struct reclist *l, +struct record_cluster *reclist_insert( struct reclist *l, + struct conf_service *service, struct record *record, - char *merge_key, int *total) + const char *merge_key, int *total) { unsigned int bucket; struct reclist_bucket **p; struct record_cluster *cluster = 0; assert(service); - assert(service->num_metadata); - assert(service->num_sortkeys); + assert(l); + assert(record); + assert(merge_key); + assert(total); bucket = hash((unsigned char*) merge_key) & l->hashmask; + for (p = &l->hashtable[bucket]; *p; p = &(*p)->next) { // We found a matching record. Merge them @@ -241,7 +244,7 @@ struct record_cluster *reclist_insert( struct conf_service *service, new->record = newc; new->next = 0; newc->records = record; - newc->merge_key = merge_key; + newc->merge_key = (char *) merge_key; newc->relevance = 0; newc->term_frequency_vec = 0; newc->recid = (*total)++;