X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=client%2Fclient.c;h=50124735b2ebd4ac5babcb1405d947dbf9cd650a;hb=efcfc53528435f8d6fb3a7d41a22a64e9731a690;hp=d58c0828dcfa1e49c21633ddc28ff3a925b46d45;hpb=454369fd9e16211e97c8decd7be3c4e9729df6bf;p=yaz-moved-to-github.git diff --git a/client/client.c b/client/client.c index d58c082..5012473 100644 --- a/client/client.c +++ b/client/client.c @@ -2,7 +2,7 @@ * Copyright (c) 1995-2004, Index Data * See the file LICENSE for details. * - * $Id: client.c,v 1.249 2004-09-13 09:24:42 adam Exp $ + * $Id: client.c,v 1.251 2004-09-22 13:08:31 adam Exp $ */ #include @@ -115,7 +115,7 @@ static char *last_open_command = NULL; static int auto_reconnect = 0; static Odr_bitmask z3950_options; static int z3950_version = 3; - +static int scan_stepSize = 0; static char cur_host[200]; typedef enum { @@ -1261,7 +1261,7 @@ static int send_SRW_searchRequest(const char *arg) setno = 1; /* save this for later .. when fetching individual records */ - srw_sr = sr = yaz_srw_get(srw_sr_odr_out, Z_SRW_searchRetrieve_request); + srw_sr = yaz_srw_get(srw_sr_odr_out, Z_SRW_searchRetrieve_request); /* regular request .. */ sr = yaz_srw_get(out, Z_SRW_searchRetrieve_request); @@ -1269,14 +1269,16 @@ static int send_SRW_searchRequest(const char *arg) switch(queryType) { case QueryType_CQL: - sr->u.request->query_type = Z_SRW_query_type_cql; - sr->u.request->query.cql = odr_strdup(srw_sr_odr_out, arg); + srw_sr->u.request->query_type = Z_SRW_query_type_cql; + srw_sr->u.request->query.cql = odr_strdup(srw_sr_odr_out, arg); + sr->u.request->query_type = Z_SRW_query_type_cql; sr->u.request->query.cql = odr_strdup(out, arg); break; case QueryType_Prefix: - sr->u.request->query_type = Z_SRW_query_type_pqf; - sr->u.request->query.pqf = odr_strdup(srw_sr_odr_out, arg); + srw_sr->u.request->query_type = Z_SRW_query_type_pqf; + srw_sr->u.request->query.pqf = odr_strdup(srw_sr_odr_out, arg); + sr->u.request->query_type = Z_SRW_query_type_pqf; sr->u.request->query.pqf = odr_strdup(out, arg); break; @@ -2636,6 +2638,7 @@ int send_scanrequest(const char *query, int pp, int num, const char *term) req->databaseNames = databaseNames; req->numberOfTermsRequested = # req->preferredPositionInResponse = &pp; + req->stepSize = odr_intdup(out, scan_stepSize); send_apdu(apdu); return 2; } @@ -2798,6 +2801,12 @@ int cmd_sort_newset (const char *arg) return cmd_sort_generic (arg, 1); } +int cmd_stepsize(const char *arg) +{ + scan_stepSize = atoi(arg); + return 0; +} + int cmd_scan(const char *arg) { if (only_z3950()) @@ -3842,6 +3851,7 @@ static struct { {"delete", cmd_delete, "",NULL,0,NULL}, {"base", cmd_base, "",NULL,0,NULL}, {"show", cmd_show, "['+'<#recs>['+']]",NULL,0,NULL}, + {"stepsize", cmd_stepsize, "",NULL,0,NULL}, {"scan", cmd_scan, "",NULL,0,NULL}, {"sort", cmd_sort, " ...",NULL,0,NULL}, {"sort+", cmd_sort_newset, " ...",NULL,0,NULL},