X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Freclists.c;h=7d92643d1a6ddd960444dc85dad24ac28ca99977;hb=5b4ea0cf66dd82c871ed7d69a5801d78789087b2;hp=afb4e3c160fc8fe624e45474339c741ebdd3900f;hpb=9267d02c3601122f74bdf3a9d21f30080a4a1a9a;p=pazpar2-moved-to-github.git diff --git a/src/reclists.c b/src/reclists.c index afb4e3c..7d92643 100644 --- a/src/reclists.c +++ b/src/reclists.c @@ -27,11 +27,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "pazpar2.h" #include "reclists.h" +#include "parameters.h" -extern struct parameters global_parameters; - -// Not threadsafe -static struct reclist_sortparms *sortparms = 0; +static struct reclist_sortparms *qsort_sortparms = 0; /* thread pr */ struct reclist_bucket { @@ -93,11 +91,11 @@ reclist_sortparms_insert(NMEM nmem, #endif -struct reclist_sortparms *reclist_parse_sortparms(NMEM nmem, const char *parms) +struct reclist_sortparms *reclist_parse_sortparms(NMEM nmem, const char *parms, + struct conf_service *service) { struct reclist_sortparms *res = 0; struct reclist_sortparms **rp = &res; - struct conf_service *service = config->servers->service; if (strlen(parms) > 256) return 0; @@ -168,7 +166,7 @@ static int reclist_cmp(const void *p1, const void *p2) struct reclist_sortparms *s; int res = 0; - for (s = sortparms; s && res == 0; s = s->next) + for (s = qsort_sortparms; s && res == 0; s = s->next) { union data_types *ut1 = r1->sortkeys[s->offset]; union data_types *ut2 = r2->sortkeys[s->offset]; @@ -214,7 +212,7 @@ static int reclist_cmp(const void *p1, const void *p2) void reclist_sort(struct reclist *l, struct reclist_sortparms *parms) { - sortparms = parms; + qsort_sortparms = parms; qsort(l->flatlist, l->num_records, sizeof(struct record_cluster*), reclist_cmp); reclist_rewind(l);