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
GFS: scan may return extra response data (SRU)
[yaz-moved-to-github.git]
/
client
/
client.c
diff --git
a/client/client.c
b/client/client.c
index
d5ef64c
..
da0fd36
100644
(file)
--- a/
client/client.c
+++ b/
client/client.c
@@
-1,5
+1,5
@@
/* This file is part of the YAZ toolkit.
/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2012 Index Data
+ * Copyright (C) 1995-2013 Index Data
* See the file LICENSE for details.
*/
/** \file client.c
* See the file LICENSE for details.
*/
/** \file client.c
@@
-1529,7
+1529,7
@@
static int send_Z3950_searchRequest(const char *arg)
printf("CCL ERROR: %s\n", ccl_err_msg(error));
return 0;
}
printf("CCL ERROR: %s\n", ccl_err_msg(error));
return 0;
}
- }
+ }
else if (myQueryType == QueryType_CQL2RPN)
{
/* ### All this code should be wrapped in a utility function */
else if (myQueryType == QueryType_CQL2RPN)
{
/* ### All this code should be wrapped in a utility function */
@@
-1698,11
+1698,7
@@
static void display_facet(Z_FacetField *facet)
{
Z_AttributeList *al = facet->attributes;
struct yaz_facet_attr attr_values;
{
Z_AttributeList *al = facet->attributes;
struct yaz_facet_attr attr_values;
- attr_values.errcode = 0;
- attr_values.limit = -1;
- attr_values.useattr = "NONE";
- attr_values.relation = "default";
-
+ yaz_facet_attr_init(&attr_values);
yaz_facet_attr_get_z_attributes(al, &attr_values);
if (!attr_values.errcode)
{
yaz_facet_attr_get_z_attributes(al, &attr_values);
if (!attr_values.errcode)
{
@@
-3020,7
+3016,7
@@
static int parse_show_args(const char *arg_c, char *setstring,
sprintf(setstring, "%d", setnumber);
else
*setstring = '\0';
sprintf(setstring, "%d", setnumber);
else
*setstring = '\0';
-
+
token_len = check_token(arg_c, "format");
if (token_len)
{
token_len = check_token(arg_c, "format");
if (token_len)
{
@@
-3285,10
+3281,10
@@
static int cmd_cancel(const char *arg)
apdu->u.triggerResourceControlRequest;
bool_t rfalse = 0;
char command[16];
apdu->u.triggerResourceControlRequest;
bool_t rfalse = 0;
char command[16];
-
+
*command = '\0';
sscanf(arg, "%15s", command);
*command = '\0';
sscanf(arg, "%15s", command);
-
+
if (only_z3950())
return 0;
if (session_initResponse &&
if (only_z3950())
return 0;
if (session_initResponse &&
@@
-3301,7
+3297,7
@@
static int cmd_cancel(const char *arg)
*req->requestedAction = Z_TriggerResourceControlRequest_cancel;
req->resultSetWanted = &rfalse;
req->referenceId = set_refid(out);
*req->requestedAction = Z_TriggerResourceControlRequest_cancel;
req->resultSetWanted = &rfalse;
req->referenceId = set_refid(out);
-
+
send_apdu(apdu);
printf("Sent cancel request\n");
if (!strcmp(command, "wait"))
send_apdu(apdu);
printf("Sent cancel request\n");
if (!strcmp(command, "wait"))
@@
-3611,7
+3607,7
@@
static int cmd_scan_common(const char *set, const char *arg)
scan_query = last_scan_query;
scan_term = last_scan_line;
}
scan_query = last_scan_query;
scan_term = last_scan_line;
}
- else
+ else
{
strcpy(last_scan_query, arg);
scan_query = arg;
{
strcpy(last_scan_query, arg);
scan_query = arg;
@@
-4085,7
+4081,7
@@
static int cmd_set_auto_reconnect(const char* arg)
printf("Error use on or off\n");
return 1;
}
printf("Error use on or off\n");
return 1;
}
-
+
if (auto_reconnect)
printf("Set auto reconnect enabled.\n");
else
if (auto_reconnect)
printf("Set auto reconnect enabled.\n");
else
@@
-4278,7
+4274,7
@@
static void initialize(const char *rc_file)
fprintf(stderr, "failed to allocate ODR streams\n");
exit(1);
}
fprintf(stderr, "failed to allocate ODR streams\n");
exit(1);
}
-
+
strcpy(scan_position, "1");
setvbuf(stdout, 0, _IONBF, 0);
strcpy(scan_position, "1");
setvbuf(stdout, 0, _IONBF, 0);
@@
-4448,6
+4444,8
@@
static void http_response(Z_HTTP_Response *hres)
if (ret == 0 && sr->which == Z_SRW_searchRetrieve_response)
handle_srw_response(sr->u.response);
if (ret == 0 && sr->which == Z_SRW_searchRetrieve_response)
handle_srw_response(sr->u.response);
+ else if (ret == 0 && sr->which == Z_SRW_scan_response)
+ handle_srw_scan_response(sr->u.scan_response);
else
{
printf("Decoding of SOLR package failed\n");
else
{
printf("Decoding of SOLR package failed\n");
@@
-4459,10
+4457,10
@@
static void http_response(Z_HTTP_Response *hres)
{
Z_SOAP *soap_package = 0;
ODR o = odr_createmem(ODR_DECODE);
{
Z_SOAP *soap_package = 0;
ODR o = odr_createmem(ODR_DECODE);
- Z_SOAP_Handler soap_handlers[4] = {
- {YAZ_XMLNS_SRU_v1_1, 0, (Z_SOAP_fun) yaz_srw_codec},
+ Z_SOAP_Handler soap_handlers[] = {
{YAZ_XMLNS_SRU_v2_response, 0, (Z_SOAP_fun) yaz_srw_codec},
{YAZ_XMLNS_UPDATE_v0_9, 0, (Z_SOAP_fun) yaz_ucp_codec},
{YAZ_XMLNS_SRU_v2_response, 0, (Z_SOAP_fun) yaz_srw_codec},
{YAZ_XMLNS_UPDATE_v0_9, 0, (Z_SOAP_fun) yaz_ucp_codec},
+ {YAZ_XMLNS_SRU_v1_response, 0, (Z_SOAP_fun) yaz_srw_codec},
{0, 0, 0}
};
ret = z_soap_codec(o, &soap_package,
{0, 0, 0}
};
ret = z_soap_codec(o, &soap_package,
@@
-4952,7
+4950,7
@@
static int cmd_wait_response(const char *arg)
{
int i;
int wait_for = atoi(arg);
{
int i;
int wait_for = atoi(arg);
- if (wait_for < 1)
+ if (wait_for < 1)
wait_for = 1;
for (i = 0 ; i < wait_for; ++i )
wait_for = 1;
for (i = 0 ; i < wait_for; ++i )