Index: third_party/nspr/mozilla/nsprpub/lib/tests/getopt.c |
diff --git a/third_party/nspr/mozilla/nsprpub/lib/tests/getopt.c b/third_party/nspr/mozilla/nsprpub/lib/tests/getopt.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..52b971989a32678c26d61c3cb05d492e17ff7638 |
--- /dev/null |
+++ b/third_party/nspr/mozilla/nsprpub/lib/tests/getopt.c |
@@ -0,0 +1,40 @@ |
+#include <stdio.h> |
+#include <string.h> |
+#include <stdlib.h> |
+ |
+#include "nspr.h" |
+#include "plgetopt.h" |
+ |
+ |
+ |
+static const PLLongOpt optArray[] = { |
+ { "longa", 'a' , PR_TRUE }, |
+ { "longb", 'b' , PR_TRUE }, |
+ { "longc", 'c' , PR_FALSE }, |
+ { "longd", 'd' | 0x100, PR_TRUE }, |
+ { "longe", 'e' | 0x100, PR_FALSE }, |
+ { NULL, } |
+}; |
+ |
+int |
+main(int argc, char **argv) |
+{ |
+ PLOptState *opt; |
+ PLOptStatus ostat; |
+ |
+ opt = PL_CreateLongOptState(argc, argv, "a:b:c", optArray); |
+ |
+ while (PL_OPT_OK == (ostat = PL_GetNextOpt(opt))) { |
+ if (opt->option == 0 && opt->longOptIndex < 0) |
+ printf("Positional parameter: \"%s\"\n", opt->value); |
+ else |
+ printf("%s option: %x (\'%c\', index %d), argument: \"%s\"\n", |
+ (ostat == PL_OPT_BAD) ? "BAD" : "GOOD", |
+ opt->longOption, opt->option ? opt->option : ' ', |
+ opt->longOptIndex, opt->value); |
+ |
+ } |
+ printf("last result was %s\n", (ostat == PL_OPT_BAD) ? "BAD" : "EOL"); |
+ PL_DestroyOptState(opt); |
+ return 0; |
+} |