Allow for squashing of command line options together

This commit is contained in:
David Phillips 2015-06-09 16:00:27 +12:00
parent 33a637bd2a
commit eaf0680276
1 changed files with 29 additions and 25 deletions

View File

@ -562,32 +562,35 @@ int main(int argc, char *argv[]) {
} }
if (server.session_name) if (server.session_name)
usage(); usage();
switch (argv[arg][1]) { int c = 0;
case 'a': while(argv[arg][++c]) {
case 'A': switch (argv[arg][c]) {
case 'c': case 'a':
case 'n': case 'A':
action = argv[arg][1]; case 'c':
break; case 'n':
case 'e': action = argv[arg][c];
if (arg + 1 >= argc) break;
case 'e':
if (arg + 1 >= argc)
usage();
char *esc = argv[++arg];
if (esc[0] == '^' && esc[1])
*esc = CTRL(esc[1]);
KEY_DETACH = *esc;
break;
case 'f':
force = true;
break;
case 'r':
client.readonly = true;
break;
case 'v':
puts("abduco-"VERSION" © 2013-2015 Marc André Tanner");
exit(EXIT_SUCCESS);
default:
usage(); usage();
char *esc = argv[++arg]; }
if (esc[0] == '^' && esc[1])
*esc = CTRL(esc[1]);
KEY_DETACH = *esc;
break;
case 'f':
force = true;
break;
case 'r':
client.readonly = true;
break;
case 'v':
puts("abduco-"VERSION" © 2013-2015 Marc André Tanner");
exit(EXIT_SUCCESS);
default:
usage();
} }
} }
@ -617,6 +620,7 @@ int main(int argc, char *argv[]) {
case 'n': case 'n':
case 'c': case 'c':
if (force) { if (force) {
fprintf(stderr, "Force!");
if (session_alive(server.session_name)) { if (session_alive(server.session_name)) {
info("session exists and has not yet terminated"); info("session exists and has not yet terminated");
return 1; return 1;