commit 8f7574e73d10d825fff78d6ca01f4e5304a3a29d
parent c73f560b91e502dff181ab6338693310e66cab56
Author: Nihal Jere <nihal@nihaljere.xyz>
Date: Thu, 30 Jul 2020 18:46:37 -0500
replace makeshift argument parsing with getopt
Diffstat:
M | tlsrp.c | | | 59 | +++++++++++++++++++++++++++++++++++------------------------ |
1 file changed, 35 insertions(+), 24 deletions(-)
diff --git a/tlsrp.c b/tlsrp.c
@@ -221,33 +221,44 @@ main(int argc, char* argv[])
*ca_path = NULL,
*cert_path = NULL,
*key_path = NULL;
+ int opt;
+ char *optstring = "a:h:H:k:p:P:r:u:U:";
argv0 = argv[0];
- if (argc < 3)
- usage();
-
- for (int i = 1; i < argc; ++i) {
- if (strcmp(argv[i], "-u") == 0)
- backpath = argv[++i];
- else if (strcmp(argv[i], "-U") == 0)
- frontpath = argv[++i];
- else if (strcmp(argv[i], "-h") == 0)
- backhost = argv[++i];
- else if (strcmp(argv[i], "-H") == 0)
- fronthost = argv[++i];
- else if (strcmp(argv[i], "-p") == 0)
- backport = argv[++i];
- else if (strcmp(argv[i], "-P") == 0)
- frontport = argv[++i];
- else if (strcmp(argv[i], "-a") == 0)
- ca_path = argv[++i];
- else if (strcmp(argv[i], "-r") == 0)
- cert_path = argv[++i];
- else if (strcmp(argv[i], "-k") == 0)
- key_path = argv[++i];
- else
- usage();
+ while ((opt = getopt(argc, argv, optstring)) != -1) {
+ switch (opt) {
+ case 'a':
+ ca_path = optarg;
+ break;
+ case 'h':
+ backhost = optarg;
+ break;
+ case 'H':
+ fronthost = optarg;
+ break;
+ case 'k':
+ key_path = optarg;
+ break;
+ case 'p':
+ backport = optarg;
+ break;
+ case 'P':
+ frontport = optarg;
+ break;
+ case 'r':
+ cert_path = optarg;
+ break;
+ case 'u':
+ backpath = optarg;
+ break;
+ case 'U':
+ frontpath = optarg;
+ break;
+ case '?':
+ default:
+ usage();
+ }
}
if ((backpath && backhost) || !(backpath || backport))