Bug 346354 - Add test program for new PL_CreateLongOptState function. r=wtc
git-svn-id: svn://10.0.0.236/trunk@231619 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
28a6417ec6
commit
8495ce7432
@ -52,8 +52,9 @@ endif
|
||||
|
||||
CSRCS = \
|
||||
arena.c \
|
||||
string.c \
|
||||
base64t.c
|
||||
base64t.c \
|
||||
getopt.c \
|
||||
string.c
|
||||
|
||||
ifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))
|
||||
CSRCS += arena.c
|
||||
|
||||
40
mozilla/nsprpub/lib/tests/getopt.c
Normal file
40
mozilla/nsprpub/lib/tests/getopt.c
Normal file
@ -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;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user