X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=client%2Fclient.c;h=3a3cc7e3117142cc2d065fb87d288beb80a03b5d;hb=0e967e932ab262eb724f19922594359a4bb3336e;hp=0f174b5bcb5f57119ea57b1bb17fd563aaff78d3;hpb=779f1d959e8b91db0e259648e6d5597bc2e06736;p=yaz-moved-to-github.git diff --git a/client/client.c b/client/client.c index 0f174b5..3a3cc7e 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.250 2004-09-21 16:28:17 adam Exp $ + * $Id: client.c,v 1.255 2004-11-02 11:37:21 heikki Exp $ */ #include @@ -51,6 +51,7 @@ #include #include #include +#include #if HAVE_READLINE_READLINE_H #include @@ -115,7 +116,8 @@ 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 int scan_position = 1; static char cur_host[200]; typedef enum { @@ -2638,6 +2640,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; } @@ -2800,6 +2803,20 @@ int cmd_sort_newset (const char *arg) return cmd_sort_generic (arg, 1); } +int cmd_scanstep(const char *arg) +{ + scan_stepSize = atoi(arg); + return 0; +} + +int cmd_scanpos(const char *arg) +{ + int r = sscanf(arg, "%d", &scan_position); + if (r == 0) + scan_position = 1; + return 0; +} + int cmd_scan(const char *arg) { if (only_z3950()) @@ -2821,7 +2838,7 @@ int cmd_scan(const char *arg) if (*arg) { strcpy (last_scan_query, arg); - if (send_scanrequest(arg, 1, 20, 0) < 0) + if (send_scanrequest(arg, scan_position, 20, 0) < 0) return 0; } else @@ -3694,6 +3711,20 @@ int cmd_set_otherinfo(const char* args) return 0; } +int cmd_sleep(const char* args ) +{ + int sec=atoi(args); + if( sec > 0 ) { +#ifdef WIN32 + Sleep(sec*1000); +#else + sleep(sec); +#endif + printf("Done sleeping %d seconds\n", sec); + } + return 1; +} + int cmd_list_otherinfo(const char* args) { int i; @@ -3845,6 +3876,8 @@ static struct { {"base", cmd_base, "",NULL,0,NULL}, {"show", cmd_show, "['+'<#recs>['+']]",NULL,0,NULL}, {"scan", cmd_scan, "",NULL,0,NULL}, + {"scanstep", cmd_scanstep, "",NULL,0,NULL}, + {"scanpos", cmd_scanpos, "",NULL,0,NULL}, {"sort", cmd_sort, " ...",NULL,0,NULL}, {"sort+", cmd_sort_newset, " ...",NULL,0,NULL}, {"authentication", cmd_authentication, "",NULL,0,NULL}, @@ -3878,7 +3911,8 @@ static struct { {"set_cclfile", cmd_set_cclfile," ",NULL,1,NULL}, {"set_cqlfile", cmd_set_cqlfile," ",NULL,1,NULL}, {"set_auto_reconnect", cmd_set_auto_reconnect," on|off",complete_auto_reconnect,1,NULL}, - {"set_otherinfo", cmd_set_otherinfo," ",NULL,0,NULL}, + {"set_otherinfo", cmd_set_otherinfo," ",NULL,0,NULL}, + {"sleep", cmd_sleep,"",NULL,0,NULL}, {"register_oid", cmd_register_oid," ",NULL,0,NULL}, {"push_command", cmd_push_command,"",command_generator,0,NULL}, {"register_tab", cmd_register_tab," ",command_generator,0,NULL},