projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
.
[gnulib.git]
/
lib
/
exclude.c
diff --git
a/lib/exclude.c
b/lib/exclude.c
index
5a1e1ee
..
35f9f0d
100644
(file)
--- a/
lib/exclude.c
+++ b/
lib/exclude.c
@@
-55,9
+55,10
@@
extern int errno;
# endif
#endif
# endif
#endif
-#include <exclude.h>
-#include <fnmatch.h>
-#include <xalloc.h>
+#include "exclude.h"
+#include "fnmatch.h"
+#include "unlocked-io.h"
+#include "xalloc.h"
#ifndef SIZE_MAX
# define SIZE_MAX ((size_t) -1)
#ifndef SIZE_MAX
# define SIZE_MAX ((size_t) -1)
@@
-118,17
+119,20
@@
free_exclude (struct exclude *ex)
static int
fnmatch_no_wildcards (char const *pattern, char const *f, int options)
{
static int
fnmatch_no_wildcards (char const *pattern, char const *f, int options)
{
- if (! (options & FNM_CASEFOLD))
- return (options & FNM_LEADING_DIR ? strcasecmp : strcmp) (pattern, f);
+ if (! (options & FNM_LEADING_DIR))
+ return ((options & FNM_CASEFOLD)
+ ? strcasecmp (pattern, f)
+ : strcmp (pattern, f));
else
{
size_t patlen = strlen (pattern);
else
{
size_t patlen = strlen (pattern);
- int r = ((options & FNM_LEADING_DIR ? strncasecmp : strncmp)
- (pattern, f, patlen));
+ int r = ((options & FNM_CASEFOLD)
+ ? strncasecmp (pattern, f, patlen)
+ : strncmp (pattern, f, patlen));
if (! r)
{
r = f[patlen];
if (! r)
{
r = f[patlen];
- if (r == '/'
&& (options & FNM_LEADING_DIR)
)
+ if (r == '/')
r = 0;
}
return r;
r = 0;
}
return r;
@@
-144,7
+148,7
@@
excluded_filename (struct exclude const *ex, char const *f)
/* If no options are given, the default is to include. */
if (exclude_count == 0)
/* If no options are given, the default is to include. */
if (exclude_count == 0)
- return
0
;
+ return
false
;
else
{
struct patopts const *exclude = ex->exclude;
else
{
struct patopts const *exclude = ex->exclude;