example: change -C to --no-check-certificate to match wget
authorFelix Fietkau <nbd@openwrt.org>
Sun, 4 May 2014 12:11:40 +0000 (14:11 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 4 May 2014 12:11:40 +0000 (14:11 +0200)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
uclient-example.c

index e0e9015..69ba79a 100644 (file)
@@ -19,6 +19,7 @@
 #include <unistd.h>
 #include <stdio.h>
 #include <dlfcn.h>
+#include <getopt.h>
 
 #include <libubox/blobmsg.h>
 
@@ -148,6 +149,13 @@ static int no_ssl(const char *progname)
        return 1;
 }
 
+enum {
+       L_NO_CHECK_CERTIFICATE,
+};
+
+static const struct option longopts[] = {
+       [L_NO_CHECK_CERTIFICATE] = { "no-check-certificate", no_argument }
+};
 
 int main(int argc, char **argv)
 {
@@ -155,18 +163,24 @@ int main(int argc, char **argv)
        struct uclient *cl;
        bool verify = true;
        int ch;
+       int longopt_idx = 0;
 
        init_ustream_ssl();
 
-       while ((ch = getopt(argc, argv, "Cc:")) != -1) {
+       while ((ch = getopt_long(argc, argv, "c:", longopts, &longopt_idx)) != -1) {
                switch(ch) {
+               case 0:
+                       switch (longopt_idx) {
+                       case L_NO_CHECK_CERTIFICATE:
+                               verify = false;
+                               break;
+                       default:
+                               return usage(progname);
+                       }
                case 'c':
                        if (ssl_ctx)
                                ssl_ops->context_add_ca_crt_file(ssl_ctx, optarg);
                        break;
-               case 'C':
-                       verify = false;
-                       break;
                default:
                        return usage(progname);
                }