projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
partiallay fix bug #405
[yaz-moved-to-github.git]
/
src
/
seshigh.c
diff --git
a/src/seshigh.c
b/src/seshigh.c
index
6e683f4
..
e1449ec
100644
(file)
--- a/
src/seshigh.c
+++ b/
src/seshigh.c
@@
-2,7
+2,7
@@
* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: seshigh.c,v 1.86 2006-06-15 12:53:58 adam Exp $
+ * $Id: seshigh.c,v 1.89 2006-07-06 14:16:00 marc Exp $
*/
/**
* \file seshigh.c
*/
/**
* \file seshigh.c
@@
-50,7
+50,7
@@
#include <unistd.h>
#endif
#include <unistd.h>
#endif
-#if HAVE_XML2
+#if YAZ_HAVE_XML2
#include <libxml/parser.h>
#include <libxml/tree.h>
#endif
#include <libxml/parser.h>
#include <libxml/tree.h>
#endif
@@
-577,7
+577,7
@@
static void set_esn(Z_RecordComposition **comp_p, const char *esn, NMEM nmem)
static int retrieve_fetch(association *assoc, bend_fetch_rr *rr)
{
static int retrieve_fetch(association *assoc, bend_fetch_rr *rr)
{
-#if HAVE_XML2
+#if YAZ_HAVE_XML2
yaz_record_conv_t rc = 0;
const char *match_schema = 0;
int *match_syntax = 0;
yaz_record_conv_t rc = 0;
const char *match_schema = 0;
int *match_syntax = 0;
@@
-1119,6
+1119,8
@@
static void srw_bend_search(association *assoc, request *req,
break;
}
wrbuf_printf(wr, "SRWSearch ");
break;
}
wrbuf_printf(wr, "SRWSearch ");
+ wrbuf_printf(wr, srw_req->database);
+ wrbuf_printf(wr, " ");
if (srw_res->num_diagnostics)
wrbuf_printf(wr, "ERROR %s", srw_res->diagnostics[0].uri);
else if (*http_code != 200)
if (srw_res->num_diagnostics)
wrbuf_printf(wr, "ERROR %s", srw_res->diagnostics[0].uri);
else if (*http_code != 200)
@@
-1141,7
+1143,7
@@
static void srw_bend_search(association *assoc, request *req,
static char *srw_bend_explain_default(void *handle, bend_explain_rr *rr)
{
static char *srw_bend_explain_default(void *handle, bend_explain_rr *rr)
{
-#if HAVE_XML2
+#if YAZ_HAVE_XML2
xmlNodePtr ptr = rr->server_node_ptr;
if (!ptr)
return 0;
xmlNodePtr ptr = rr->server_node_ptr;
if (!ptr)
return 0;
@@
-1791,7
+1793,7
@@
static void process_http_request(association *assoc, request *req)
if (http_code == 200 || http_code == 500)
{
static Z_SOAP_Handler soap_handlers[4] = {
if (http_code == 200 || http_code == 500)
{
static Z_SOAP_Handler soap_handlers[4] = {
-#if HAVE_XML2
+#if YAZ_HAVE_XML2
{"http://www.loc.gov/zing/srw/", 0,
(Z_SOAP_fun) yaz_srw_codec},
{"http://www.loc.gov/zing/srw/v1.0/", 0,
{"http://www.loc.gov/zing/srw/", 0,
(Z_SOAP_fun) yaz_srw_codec},
{"http://www.loc.gov/zing/srw/v1.0/", 0,
@@
-2249,7
+2251,8
@@
static Z_APDU *process_initRequest(association *assoc, request *reqb)
strcat(options, " negotiation");
}
strcat(options, " negotiation");
}
- ODR_MASK_SET(resp->options, Z_Options_triggerResourceCtrl);
+ if (ODR_MASK_GET(req->options, Z_Options_triggerResourceCtrl))
+ ODR_MASK_SET(resp->options, Z_Options_triggerResourceCtrl);
if (ODR_MASK_GET(req->protocolVersion, Z_ProtocolVersion_1))
{
if (ODR_MASK_GET(req->protocolVersion, Z_ProtocolVersion_1))
{
@@
-2287,7
+2290,7
@@
static Z_APDU *process_initRequest(association *assoc, request *reqb)
assoc->init->implementation_name,
odr_prepend(assoc->encode, "GFS", resp->implementationName));
assoc->init->implementation_name,
odr_prepend(assoc->encode, "GFS", resp->implementationName));
- version = odr_strdup(assoc->encode, "$Revision: 1.86 $");
+ version = odr_strdup(assoc->encode, "$Revision: 1.89 $");
if (strlen(version) > 10) /* check for unexpanded CVS strings */
version[strlen(version)-2] = '\0';
resp->implementationVersion = odr_prepend(assoc->encode,
if (strlen(version) > 10) /* check for unexpanded CVS strings */
version[strlen(version)-2] = '\0';
resp->implementationVersion = odr_prepend(assoc->encode,
@@
-2760,7
+2763,17
@@
static Z_APDU *response_searchRequest(association *assoc, request *reqb,
if (log_request)
{
if (log_request)
{
+ int i;
WRBUF wr = wrbuf_alloc();
WRBUF wr = wrbuf_alloc();
+ /* int num_databaseNames;
+ Z_DatabaseName **databaseNames; */
+ for (i = 0 ; i < req->num_databaseNames; i++){
+ if (i)
+ wrbuf_printf(wr, ",");
+ wrbuf_printf(wr, req->databaseNames[i]);
+ }
+ wrbuf_printf(wr, " ");
+
if (bsrt->errcode)
wrbuf_printf(wr, "ERROR %d", bsrt->errcode);
else
if (bsrt->errcode)
wrbuf_printf(wr, "ERROR %d", bsrt->errcode);
else