wrbuf_puts(w, " ");
}
+static int odr_int_to_int(Odr_int v)
+{
+ if (v >= INT_MAX)
+ return INT_MAX;
+ else if (v <= INT_MIN)
+ return INT_MIN;
+ else
+ return (int) v;
+}
+
/*
* Create and initialize a new association-handle.
* channel : iochannel for the current line.
return 0;
}
-static int odr_int_to_int(Odr_int v)
-{
- if (v >= INT_MAX)
- return INT_MAX;
- else if (v <= INT_MIN)
- return INT_MIN;
- else return v;
-}
-
-static void srw_bend_search(association *assoc, request *req,
+static void srw_bend_search(association *assoc,
Z_SRW_PDU *sr,
Z_SRW_PDU *res,
int *http_code)
}
}
-static char *srw_bend_explain_default(void *handle, bend_explain_rr *rr)
+static char *srw_bend_explain_default(bend_explain_rr *rr)
{
#if YAZ_HAVE_XML2
xmlNodePtr ptr = (xmlNode *) rr->server_node_ptr;
return 0;
}
-static void srw_bend_explain(association *assoc, request *req,
+static void srw_bend_explain(association *assoc,
Z_SRW_PDU *sr,
Z_SRW_explainResponse *srw_res,
int *http_code)
if (assoc->init->bend_explain)
(*assoc->init->bend_explain)(assoc->backend, &rr);
else
- srw_bend_explain_default(assoc->backend, &rr);
+ srw_bend_explain_default(&rr);
if (rr.explain_buf)
{
}
}
-static void srw_bend_scan(association *assoc, request *req,
+static void srw_bend_scan(association *assoc,
Z_SRW_PDU *sr,
Z_SRW_scanResponse *srw_res,
int *http_code)
}
-static void srw_bend_update(association *assoc, request *req,
+static void srw_bend_update(association *assoc,
Z_SRW_PDU *sr,
Z_SRW_updateResponse *srw_res,
int *http_code)
}
else
{
- srw_bend_search(assoc, req, sr, res, &http_code);
+ srw_bend_search(assoc, sr, res, &http_code);
}
if (http_code == 200)
soap_package->u.generic->p = res;
res->u.explain_response->diagnostics = diagnostic;
res->u.explain_response->num_diagnostics = num_diagnostic;
}
- srw_bend_explain(assoc, req, sr,
- res->u.explain_response, &http_code);
+ srw_bend_explain(assoc, sr, res->u.explain_response, &http_code);
if (http_code == 200)
soap_package->u.generic->p = res;
}
res->u.scan_response->diagnostics = diagnostic;
res->u.scan_response->num_diagnostics = num_diagnostic;
}
- srw_bend_scan(assoc, req, sr,
- res->u.scan_response, &http_code);
+ srw_bend_scan(assoc, sr, res->u.scan_response, &http_code);
if (http_code == 200)
soap_package->u.generic->p = res;
}
res->u.update_response->num_diagnostics = num_diagnostic;
}
yaz_log(YLOG_DEBUG, "num_diag = %d", res->u.update_response->num_diagnostics );
- srw_bend_update(assoc, req, sr,
- res->u.update_response, &http_code);
+ srw_bend_update(assoc, sr, res->u.update_response, &http_code);
if (http_code == 200)
soap_package->u.generic->p = res;
}
yaz_log(log_requestdetail, "Negotiated to v%d: %s", assoc->version, options);
if (*req->maximumRecordSize < assoc->maximumRecordSize)
- assoc->maximumRecordSize = *req->maximumRecordSize;
+ assoc->maximumRecordSize = odr_int_to_int(*req->maximumRecordSize);
if (*req->preferredMessageSize < assoc->preferredMessageSize)
- assoc->preferredMessageSize = *req->preferredMessageSize;
+ assoc->preferredMessageSize = odr_int_to_int(*req->preferredMessageSize);
resp->preferredMessageSize =
odr_intdup(assoc->encode, assoc->preferredMessageSize);