diff options
-rw-r--r-- | extension/ChangeLog | 4 | ||||
-rw-r--r-- | extension/fnmatch.c | 14 | ||||
-rw-r--r-- | test/ChangeLog | 4 | ||||
-rw-r--r-- | test/fnmatch.awk | 3 | ||||
-rw-r--r-- | test/fnmatch.ok | 12 |
5 files changed, 24 insertions, 13 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog index f62f37a1..66c88ec8 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -1,3 +1,7 @@ +2012-07-16 Arnold D. Robbins <arnold@skeeve.com> + + * fnmatch.c: Simplify flag table. + 2012-07-15 Arnold D. Robbins <arnold@skeeve.com> * testext.c (test_scalar): New function and new tests. diff --git a/extension/fnmatch.c b/extension/fnmatch.c index aa8a7307..d28e2655 100644 --- a/extension/fnmatch.c +++ b/extension/fnmatch.c @@ -113,16 +113,18 @@ out: return result; } +#define ENTRY(x) { #x, FNM_##x } + static struct fnmflags { const char *name; int value; } flagtable[] = { - { "CASEFOLD", FNM_CASEFOLD }, - { "FILE_NAME", FNM_FILE_NAME }, - { "LEADING_DIR", FNM_LEADING_DIR }, - { "NOESCAPE", FNM_NOESCAPE }, - { "PATHNAME", FNM_PATHNAME }, - { "PERIOD", FNM_PERIOD }, + ENTRY(CASEFOLD), + ENTRY(FILE_NAME), + ENTRY(LEADING_DIR), + ENTRY(NOESCAPE), + ENTRY(PATHNAME), + ENTRY(PERIOD), { NULL, 0 } }; diff --git a/test/ChangeLog b/test/ChangeLog index bb270e91..b38cf279 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,7 @@ +2012-07-16 Arnold D. Robbins <arnold@skeeve.com> + + * fnmatch.awk, fnmatch.ok: Portability updates. + 2012-07-15 Arnold D. Robbins <arnold@skeeve.com> * testext.ok: Update contents. diff --git a/test/fnmatch.awk b/test/fnmatch.awk index e8ef9377..c0885074 100644 --- a/test/fnmatch.awk +++ b/test/fnmatch.awk @@ -2,8 +2,9 @@ BEGIN { print "FNM_NOMATCH =", FNM_NOMATCH + # can't print the values; they vary from system to system for (i in FNM) - printf("FNM[\"%s\"] = %d\n", i, FNM[i]) + printf("\"%s\" is an element in FNM\n", i) printf("fnmatch(\"*.a\", \"foo.a\", 0) = %d\n", fnmatch("*.a", "foo.a", 0) ) printf("fnmatch(\"*.a\", \"foo.c\", 0) = %d\n", fnmatch("*.a", "foo.c", 0)) diff --git a/test/fnmatch.ok b/test/fnmatch.ok index cc17c6b1..fd8a78ce 100644 --- a/test/fnmatch.ok +++ b/test/fnmatch.ok @@ -1,9 +1,9 @@ FNM_NOMATCH = 1 -FNM["LEADING_DIR"] = 8 -FNM["CASEFOLD"] = 16 -FNM["NOESCAPE"] = 2 -FNM["PERIOD"] = 4 -FNM["PATHNAME"] = 1 -FNM["FILE_NAME"] = 1 +"LEADING_DIR" is an element in FNM +"CASEFOLD" is an element in FNM +"NOESCAPE" is an element in FNM +"PERIOD" is an element in FNM +"PATHNAME" is an element in FNM +"FILE_NAME" is an element in FNM fnmatch("*.a", "foo.a", 0) = 0 fnmatch("*.a", "foo.c", 0) = 1 |