-
- while ((c = getopt(argc, argv, "c:s:p:fbd:rv:")) != -1) {
- switch (c) {
- case 'c': options.nconnect = atoi(optarg); break;
- case 's': options.nsearch = atoi(optarg); break;
- case 'p': options.npresent = atoi(optarg); break;
- case 'f': options.full = 1; break;
- case 'b': options.full = 0; break;
- case 'd': options.delay = atoi(optarg); break;
- case 'r': options.random = 1; break;
- case 'v': options.verbosity = atoi(optarg); break;
- default: goto USAGE;
- }
- }
-
- if (argc-optind != 2) {
- USAGE:
- fprintf(stderr, "Usage: %s [options] <host> <port>\n"
-" -c <n> Make <n> connection to the server [default: 3]\n"
-" -s <n> Perform <n> searches on each connection [3]\n"
-" -p <n> Make <n> present requests after each search [3]\n"
-" -f Fetch full records [default: brief]\n"
-" -b Fetch brief records\n"
-" -d <n> Delay <n> ms after each operation\n"
-" -r Delays are random between 0 and the specified number of ms\n"
-" -v <n> Set verbosity level to <n> [0, silent on success]\n"
-, argv[0]);
- return 1;
+ char *arg;
+
+ while ((c = options("c:s:p:fbd:rv:", argv, argc, &arg)) != -2) {
+ switch (c) {
+ case 0:
+ if (!host)
+ host = arg;
+ else if (!port)
+ port = atoi(arg);
+ else
+ usage(*argv);
+ break;
+ case 'c': boptions.nconnect = atoi(arg); break;
+ case 's': boptions.nsearch = atoi(arg); break;
+ case 'p': boptions.npresent = atoi(arg); break;
+ case 'f': boptions.full = 1; break;
+ case 'b': boptions.full = 0; break;
+ case 'd': boptions.delay = atoi(arg); break;
+ case 'r': boptions.random = 1; break;
+ case 'v': boptions.verbosity = atoi(arg); break;
+ default: usage(*argv);
+ }