summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2003-01-06 13:17:48 +0000
committerJim Meyering <jim@meyering.net>2003-01-06 13:17:48 +0000
commit9d89ba4161284185488b30b6381a0d87e4941600 (patch)
tree5399c5660d58970027be2886063e22742dccdd59 /lib
parent783186bced2b9fa0758127f1edbd82a08d2bc9ac (diff)
downloadcoreutils-9d89ba4161284185488b30b6381a0d87e4941600.tar.xz
2002-12-10 Paul Eggert <eggert@twinsun.com>
Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7. (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not defined (e.g., a pure POSIX system). (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
Diffstat (limited to 'lib')
-rw-r--r--lib/exclude.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/exclude.c b/lib/exclude.c
index 35f9f0d19..9337e74a9 100644
--- a/lib/exclude.c
+++ b/lib/exclude.c
@@ -1,7 +1,7 @@
/* exclude.c -- exclude file names
- Copyright 1992, 1993, 1994, 1997, 1999, 2000, 2001 Free Software
- Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1997, 1999, 2000, 2001, 2002 Free
+ Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -67,9 +67,17 @@ extern int errno;
/* Verify a requirement at compile-time (unlike assert, which is runtime). */
#define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; }
+/* Non-GNU systems lack these options, so we don't need to check them. */
+#ifndef FNM_CASEFOLD
+# define FNM_CASEFOLD 0
+#endif
+#ifndef FNM_LEADING_DIR
+# define FNM_LEADING_DIR 0
+#endif
+
verify (EXCLUDE_macros_do_not_collide_with_FNM_macros,
(((EXCLUDE_ANCHORED | EXCLUDE_INCLUDE | EXCLUDE_WILDCARDS)
- & (FNM_FILE_NAME | FNM_NOESCAPE | FNM_PERIOD | FNM_LEADING_DIR
+ & (FNM_PATHNAME | FNM_NOESCAPE | FNM_PERIOD | FNM_LEADING_DIR
| FNM_CASEFOLD))
== 0));