ovs-vsctl: Fix parsing of short SSL options.
authorBen Pfaff <blp@nicira.com>
Mon, 16 Aug 2010 22:54:47 +0000 (15:54 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 19 Aug 2010 16:42:13 +0000 (09:42 -0700)
The short versions of the SSL options (e.g. -p, -c, -C) did not work,
because they were not in the string passed to getopt_long().  This commit
fixes the problem and should avoid its recurrence with any other short
options that we add in the future.

utilities/ovs-vsctl.c

index d68e4740a65ce434b75811a61afcc8cdb696eeb3..4d50194aaa33a4fb8eef0d40e05cb968269aee27 100644 (file)
@@ -182,12 +182,16 @@ parse_options(int argc, char *argv[])
 #endif
         {0, 0, 0, 0},
     };
+    char *tmp, *short_options;
 
+    tmp = long_options_to_short_options(long_options);
+    short_options = xasprintf("+%s", tmp);
+    free(tmp);
 
     for (;;) {
         int c;
 
-        c = getopt_long(argc, argv, "+v::hVt:", long_options, NULL);
+        c = getopt_long(argc, argv, short_options, long_options, NULL);
         if (c == -1) {
             break;
         }
@@ -245,6 +249,7 @@ parse_options(int argc, char *argv[])
             abort();
         }
     }
+    free(short_options);
 
     if (!db) {
         db = default_db();