X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Flogic.c;h=4ec42cf1a5f8fc70fd31196e932dd881d8b107ca;hb=06ec84ec5e71464bbdb286b0548483b97147be81;hp=b484279429d0d5e6eb6bd77d550a988c64df81a8;hpb=69ae0b0ac176c892d6fd9d3b1e0c9d0e4a5c6b64;p=pazpar2-moved-to-github.git diff --git a/src/logic.c b/src/logic.c index b484279..4ec42cf 100644 --- a/src/logic.c +++ b/src/logic.c @@ -1,4 +1,4 @@ -/* $Id: logic.c,v 1.28 2007-05-14 08:01:39 marc Exp $ +/* $Id: logic.c,v 1.32 2007-05-23 21:58:28 adam Exp $ Copyright (c) 2006-2007, Index Data. This file is part of Pazpar2. @@ -82,7 +82,8 @@ struct parameters global_parameters = "", "", 0, - 0, + 0, /* dump_records */ + 0, /* debug_mode */ 30, "81", "Index Data PazPar2", @@ -493,7 +494,17 @@ static void session_init_databases_fun(void *context, struct database *db) new->database = db; new->yaz_marc = 0; - new->pct = pp2_charset_create(); + +#ifdef HAVE_ICU + if (global_parameters.server && global_parameters.server->icu_chn) + new->pct + = pp2_charset_create(global_parameters.server->icu_chn); + else + new->pct = pp2_charset_create(0); +#else // HAVE_ICU + new->pct = pp2_charset_create(0); +#endif // HAVE_ICU + new->map = 0; new->settings = nmem_malloc(se->session_nmem, sizeof(struct settings *) * num); @@ -559,13 +570,19 @@ void session_apply_setting(struct session *se, char *dbname, char *setting, { struct session_database *sdb = find_session_database(se, dbname); struct setting *new = nmem_malloc(se->session_nmem, sizeof(*new)); - int offset = settings_offset(setting); + int offset = settings_offset_cprefix(setting); if (offset < 0) { yaz_log(YLOG_WARN, "Unknown setting %s", setting); return; } + // Jakub: This breaks the filter setting. + /*if (offset == PZ_ID) + { + yaz_log(YLOG_WARN, "No need to set pz:id setting. Ignoring"); + return; + }*/ new->precedence = 0; new->target = dbname; new->name = setting;