325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
|
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
|
-
+
+
|
split_into_argv(cmdline, &argc, &argv, NULL);
for (i = 0; i < argc; i++) {
char *p = argv[i];
int ret;
ret = cmdline_process_param(p, i+1<argc?argv[i+1]:NULL, 1);
ret = cmdline_process_param(p, i+1<argc?argv[i+1]:NULL,
1, &cfg);
if (ret == -2) {
cmdline_error("option \"%s\" requires an argument", p);
} else if (ret == 2) {
i++; /* skip next argument */
} else if (ret == 1) {
continue; /* nothing further needs doing */
} else if (!strcmp(p, "-cleanup")) {
|
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
|
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
|
-
+
|
/*
* If we already have a host name, treat
* this argument as a port number. NB we
* have to treat this as a saved -P
* argument, so that it will be deferred
* until it's a good moment to run it.
*/
int ret = cmdline_process_param("-P", p, 1);
int ret = cmdline_process_param("-P", p, 1, &cfg);
assert(ret == 2);
} else if (!strncmp(q, "telnet:", 7)) {
/*
* If the hostname starts with "telnet:",
* set the protocol to Telnet and process
* the string as a Telnet URL.
*/
|
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
|
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
|
-
+
|
}
} else {
cmdline_error("unknown option \"%s\"", p);
}
}
}
cmdline_run_saved();
cmdline_run_saved(&cfg);
if (!*cfg.host && !do_config()) {
WSACleanup();
return 0;
}
/*
|