X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fpazpar2.c;h=5e06baca4193240f5d70ae48a9a53a66637939c5;hb=8a203ad98e5cd0dc77fcf7e3193bc14c285c635a;hp=1fa0d0c5eb34c49e48c20fe6941786923250bb9c;hpb=3d960a2b3a97d485b5a1c76f1dc08ea212062307;p=pazpar2-moved-to-github.git diff --git a/src/pazpar2.c b/src/pazpar2.c index 1fa0d0c..5e06bac 100644 --- a/src/pazpar2.c +++ b/src/pazpar2.c @@ -1,4 +1,4 @@ -/* $Id: pazpar2.c,v 1.67 2007-04-08 23:04:20 adam Exp $ */ +/* $Id: pazpar2.c,v 1.68 2007-04-10 00:53:24 quinn Exp $ */ #include #include @@ -1207,7 +1207,6 @@ static void select_targets_callback(void *context, struct database *db) se->clients = cl; } -// This should be extended with parameters to control selection criteria // Associates a set of clients with a session; int select_targets(struct session *se, struct database_criterion *crit) { @@ -1284,7 +1283,6 @@ char *search(struct session *se, char *query, char *filter) criteria = parse_filter(se->nmem, filter); strcpy(se->query, query); se->requestid++; - // Release any existing clients select_targets(se, criteria); for (cl = se->clients; cl; cl = cl->next) { @@ -1316,10 +1314,10 @@ void destroy_session(struct session *s) wrbuf_destroy(s->wrbuf); } -struct session *new_session() +struct session *new_session(NMEM nmem) { int i; - struct session *session = xmalloc(sizeof(*session)); + struct session *session = nmem_malloc(nmem, sizeof(*session)); yaz_log(YLOG_DEBUG, "New pazpar2 session"); @@ -1331,6 +1329,7 @@ struct session *new_session() session->clients = 0; session->expected_maxrecs = 0; session->query[0] = '\0'; + session->session_nmem = nmem; session->nmem = nmem_create(); session->wrbuf = wrbuf_alloc(); for (i = 0; i <= SESSION_WATCH_MAX; i++)