-/* $Id: zebrasrv.c,v 1.14 2007-04-16 21:54:37 adam Exp $
+/* $Id: zebrasrv.c,v 1.16 2007-05-21 11:54:59 adam Exp $
Copyright (C) 1995-2007
Index Data ApS
return r;
}
r->handle = zh;
+
+ q->query_charset = odr_strdup(q->stream, zebra_get_encoding(zh));
if (q->auth)
{
if (q->auth->which == Z_IdAuthentication_open)
r->errstring = user;
return r;
}
- if (q->charneg_request) /* characater set and langauge negotiation? */
+ if (q->charneg_request) /* characater set and language negotiation? */
{
char **charsets = 0;
int num_charsets;
int i;
NMEM nmem = nmem_create();
- yaz_log (YLOG_LOG, "character set and language negotiation");
-
- yaz_get_proposal_charneg (nmem, q->charneg_request,
- &charsets, &num_charsets,
- &langs, &num_langs, &selected);
+ yaz_get_proposal_charneg(nmem, q->charneg_request,
+ &charsets, &num_charsets,
+ &langs, &num_langs, &selected);
for (i = 0; i < num_charsets; i++)
{
} else {
right_name = charsets[i];
}
- if (odr_set_charset (q->decode, "UTF-8", right_name) == 0)
+ if (odr_set_charset(q->decode, "UTF-8", right_name) == 0)
{
- yaz_log (YLOG_LOG, "charset %d %s (proper name %s): OK", i,
- charsets[i], right_name);
- odr_set_charset (q->stream, right_name, "UTF-8");
+ yaz_log(YLOG_LOG, "charset %d %s (proper name %s): OK", i,
+ charsets[i], right_name);
+ odr_set_charset(q->stream, right_name, "UTF-8");
if (selected)
zebra_record_encoding(zh, right_name);
zebra_octet_term_encoding(zh, right_name);
q->charneg_response =
- yaz_set_response_charneg (q->stream, charsets[i],
- 0, selected);
+ yaz_set_response_charneg(q->stream, charsets[i],
+ 0, selected);
break;
} else {
- yaz_log (YLOG_LOG, "charset %d %s (proper name %s): unsupported", i,
- charsets[i], right_name);
+ yaz_log(YLOG_LOG, "charset %d %s (proper name %s): unsupported", i,
+ charsets[i], right_name);
}
}
nmem_destroy(nmem);
{
zebra_close ((ZebraHandle) handle);
xmalloc_trav("bend_close");
- nmem_print_list();
}
int bend_sort (void *handle, bend_sort_rr *rr)