X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fexclude.c;h=9337e74a9060f73142e8e3b8497740ff9651cdad;hb=69a9b8f8d7acc8677b5657adb83a8ba448737e0c;hp=e3f2225676472c509fe71a76eb56bfbf6973e4bf;hpb=fcb712da4a086f881e3bd60d4442962d0d6255c0;p=gnulib.git diff --git a/lib/exclude.c b/lib/exclude.c index e3f222567..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 @@ -57,6 +57,7 @@ extern int errno; #include "exclude.h" #include "fnmatch.h" +#include "unlocked-io.h" #include "xalloc.h" #ifndef SIZE_MAX @@ -66,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));