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
Revert YAZ-830 fix (hack)
[yaz-moved-to-github.git]
/
src
/
zoom-sru.c
diff --git
a/src/zoom-sru.c
b/src/zoom-sru.c
index
0185e68
..
17f7c18
100644
(file)
--- a/
src/zoom-sru.c
+++ b/
src/zoom-sru.c
@@
-35,8
+35,7
@@
static zoom_ret send_srw(ZOOM_connection c, Z_SRW_PDU *sr)
const char *database = ZOOM_options_get(c->options, "databaseName");
gdu = z_get_HTTP_Request_uri(c->odr_out, c->host_port,
const char *database = ZOOM_options_get(c->options, "databaseName");
gdu = z_get_HTTP_Request_uri(c->odr_out, c->host_port,
- database,
- c->proxy ? 1 : 0);
+ database, c->proxy_mode);
if (c->sru_mode == zoom_sru_get)
{
if (c->sru_mode == zoom_sru_get)
{
@@
-254,6
+253,7
@@
static zoom_ret handle_srw_response(ZOOM_connection c,
Z_SRW_searchRetrieveResponse *res)
{
ZOOM_resultset resultset = 0;
Z_SRW_searchRetrieveResponse *res)
{
ZOOM_resultset resultset = 0;
+ int *start, *count;
int i;
NMEM nmem;
ZOOM_Event event;
int i;
NMEM nmem;
ZOOM_Event event;
@@
-266,6
+266,8
@@
static zoom_ret handle_srw_response(ZOOM_connection c,
return zoom_complete;
resultset = c->tasks->u.search.resultset;
return zoom_complete;
resultset = c->tasks->u.search.resultset;
+ start = &c->tasks->u.search.start;
+ count = &c->tasks->u.search.count;
syntax = c->tasks->u.search.syntax;
elementSetName = c->tasks->u.search.elementSetName;
schema = c->tasks->u.search.schema;
syntax = c->tasks->u.search.syntax;
elementSetName = c->tasks->u.search.elementSetName;
schema = c->tasks->u.search.schema;
@@
-374,6
+376,10
@@
static zoom_ret handle_srw_response(ZOOM_connection c,
schema, diag);
}
}
schema, diag);
}
}
+ *count -= i;
+ if (*count < 0)
+ *count = 0;
+ *start += i;
nmem = odr_extract_mem(c->odr_in);
nmem_transfer(odr_getmem(resultset->odr), nmem);
nmem_destroy(nmem);
nmem = odr_extract_mem(c->odr_in);
nmem_transfer(odr_getmem(resultset->odr), nmem);
nmem_destroy(nmem);