* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: seshigh.c,v 1.115 2007-04-16 21:53:09 adam Exp $
+ * $Id: seshigh.c,v 1.116 2007-05-02 11:53:25 adam Exp $
*/
/**
* \file seshigh.c
assoc->init->implementation_version = 0;
assoc->init->implementation_id = 0;
assoc->init->implementation_name = 0;
+ assoc->init->query_charset = 0;
assoc->init->bend_sort = NULL;
assoc->init->bend_search = NULL;
assoc->init->bend_present = NULL;
ODR_MASK_SET(resp->options, Z_Options_sort);
strcat(options, " sort");
}
-
- if (ODR_MASK_GET(req->options, Z_Options_negotiationModel)
- && assoc->init->charneg_response)
+
+ if (!assoc->init->charneg_response && !assoc->init->charneg_request)
+ {
+ if (assoc->init->query_charset)
+ {
+ assoc->init->charneg_response = yaz_set_response_charneg(
+ assoc->encode, assoc->init->query_charset, 0, 0);
+ }
+ else
+ {
+ yaz_log(YLOG_WARN, "default query_charset not defined by backend");
+ }
+ }
+ if (assoc->init->charneg_response
+ && ODR_MASK_GET(req->options, Z_Options_negotiationModel))
{
Z_OtherInformation **p;
Z_OtherInformationUnit *p0;
ODR_MASK_SET(resp->options, Z_Options_negotiationModel);
strcat(options, " negotiation");
}
-
if (ODR_MASK_GET(req->options, Z_Options_triggerResourceCtrl))
ODR_MASK_SET(resp->options, Z_Options_triggerResourceCtrl);
assoc->init->implementation_name,
odr_prepend(assoc->encode, "GFS", resp->implementationName));
- version = odr_strdup(assoc->encode, "$Revision: 1.115 $");
+ version = odr_strdup(assoc->encode, "$Revision: 1.116 $");
if (strlen(version) > 10) /* check for unexpanded CVS strings */
version[strlen(version)-2] = '\0';
resp->implementationVersion = odr_prepend(assoc->encode,