X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fsession.c;h=74495fc5feaa449bc09e315124e61655d9405b79;hb=ab485834bd7708fbdd8e896a7548da22a33fed87;hp=b37b358ff4b6ee48c97f1cee426324060ced922f;hpb=1e9d110fab41514a2ed19a73d532197aaa29b526;p=pazpar2-moved-to-github.git diff --git a/src/session.c b/src/session.c index b37b358..74495fc 100644 --- a/src/session.c +++ b/src/session.c @@ -408,40 +408,43 @@ const char *session_setting_oneval(struct session_database *db, int offset) // setting. However, this is not a realistic use scenario. static int prepare_map(struct session *se, struct session_database *sdb) { - const char *s; - - if (sdb->settings && sdb->settings[PZ_XSLT] && !sdb->map && - (s = session_setting_oneval(sdb, PZ_XSLT))) + if (sdb->settings && !sdb->map) { - char auto_stylesheet[256]; + const char *s; - if (!strcmp(s, "auto")) + if (sdb->settings[PZ_XSLT] && + (s = session_setting_oneval(sdb, PZ_XSLT))) { - const char *request_syntax = session_setting_oneval( - sdb, PZ_REQUESTSYNTAX); - if (request_syntax) + char auto_stylesheet[256]; + + if (!strcmp(s, "auto")) { - char *cp; - yaz_snprintf(auto_stylesheet, sizeof(auto_stylesheet), - "%s.xsl", request_syntax); - for (cp = auto_stylesheet; *cp; cp++) + const char *request_syntax = session_setting_oneval( + sdb, PZ_REQUESTSYNTAX); + if (request_syntax) { - /* deliberately only consider ASCII */ - if (*cp > 32 && *cp < 127) - *cp = tolower(*cp); + char *cp; + yaz_snprintf(auto_stylesheet, sizeof(auto_stylesheet), + "%s.xsl", request_syntax); + for (cp = auto_stylesheet; *cp; cp++) + { + /* deliberately only consider ASCII */ + if (*cp > 32 && *cp < 127) + *cp = tolower(*cp); + } + s = auto_stylesheet; + } + else + { + session_log(se, YLOG_WARN, + "No pz:requestsyntax for auto stylesheet"); } - s = auto_stylesheet; - } - else - { - session_log(se, YLOG_WARN, - "No pz:requestsyntax for auto stylesheet"); } + sdb->map = normalize_cache_get(se->normalize_cache, + se->service, s); + if (!sdb->map) + return -1; } - sdb->map = normalize_cache_get(se->normalize_cache, - se->service, s); - if (!sdb->map) - return -1; } return 0; } @@ -748,12 +751,12 @@ enum pazpar2_error_code session_search(struct session *se, &tval); if (parse_ret == 1 && r == 2) { - session_log(se, YLOG_LOG, "client REUSE %s", client_get_id(cl)); + session_log(se, YLOG_LOG, "client %s REUSE result", client_get_id(cl)); client_reingest(cl); } else if (r) { - session_log(se, YLOG_LOG, "client NEW %s", client_get_id(cl)); + session_log(se, YLOG_LOG, "client %s NEW search", client_get_id(cl)); client_start_search(cl); } no_working++;