-/* $Id: reclists.c,v 1.8 2007-04-10 08:48:56 adam 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.
}
// Insert a record. Return record cluster (newly formed or pre-existing)
-struct record_cluster *reclist_insert(struct reclist *l, struct record *record,
- char *merge_key, int *total)
+struct record_cluster *reclist_insert( struct reclist *l,
+ struct conf_service *service,
+ struct record *record,
+ const char *merge_key, int *total)
{
unsigned int bucket;
struct reclist_bucket **p;
struct record_cluster *cluster = 0;
- struct conf_service *service = global_parameters.server->service;
+
+ assert(service);
+ 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
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)++;