X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Freclists.c;h=2ba9b4d9afae8135217d1c7b6cae99204c7338e8;hb=6d01755305a7afba15ed4bc90ac9c149ee7d130e;hp=99c9c8732260c3a0180fe51dbcbeea89d9b364e5;hpb=646158a86d80e5ef0221ef7d7ce2cfc6ba31eacc;p=pazpar2-moved-to-github.git diff --git a/src/reclists.c b/src/reclists.c index 99c9c87..2ba9b4d 100644 --- a/src/reclists.c +++ b/src/reclists.c @@ -1,5 +1,5 @@ /* This file is part of Pazpar2. - Copyright (C) 2006-2011 Index Data + Copyright (C) 2006-2012 Index Data Pazpar2 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -314,6 +314,17 @@ struct record_cluster *reclist_insert(struct reclist *l, if (!strcmp(merge_key, (*p)->record->merge_key)) { struct record_cluster *existing = (*p)->record; + struct record *re = existing->records; + + for (; re; re = re->next) + { + if (re->client == record->client && + record_compare(record, re, service)) + { + yaz_mutex_leave(l->mutex); + return 0; + } + } record->next = existing->records; existing->records = record; cluster = existing;