dir: store EXC_FLAG_* values in unsigned integers
The values defined by the macro EXC_FLAG_* (1, 4, 8, 16) are stored in fields of the structs "pattern" and "exclude", some functions arguments and a local variable. None of these uses its most significant bit in any special way and there is no good reason to use a signed integer for them. And while we're at it, document "flags" of "exclude" to explicitly state the values it's supposed to take on. Signed-off-by: Saurav Sachidanand <sauravsachidanand@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Saurav Sachidanand committed
Mar 1, 2016 at 22:32 UTC
f870899864e077a54776af838c6476d5850cfaaf
3 files changed
+9
-9
attr.c
+1
-1
@@ -124,7 +124,7 @@ struct pattern {
124
const char *pattern;
125
int patternlen;
126
int nowildcardlen;
127
- int flags; /* EXC_FLAG_* */
127
+ unsigned flags; /* EXC_FLAG_* */
128
};
129
130
/*
dir.c
+4
-4
@@ -441,7 +441,7 @@ int no_wildcard(const char *string)
441
442
void parse_exclude_pattern(const char **pattern,
443
int *patternlen,
444
- int *flags,
444
+ unsigned *flags,
445
int *nowildcardlen)
446
{
447
const char *p = *pattern;
@@ -482,7 +482,7 @@ void add_exclude(const char *string, const char *base,
482
{
483
struct exclude *x;
484
int patternlen;
485
- int flags;
485
+ unsigned flags;
486
int nowildcardlen;
487
488
parse_exclude_pattern(&string, &patternlen, &flags, &nowildcardlen);
@@ -663,7 +663,7 @@ void add_excludes_from_file(struct dir_struct *dir, const char *fname)
663
664
int match_basename(const char *basename, int basenamelen,
665
const char *pattern, int prefix, int patternlen,
666
- int flags)
666
+ unsigned flags)
667
{
668
if (prefix == patternlen) {
669
if (patternlen == basenamelen &&
@@ -688,7 +688,7 @@ int match_basename(const char *basename, int basenamelen,
688
int match_pathname(const char *pathname, int pathlen,
689
const char *base, int baselen,
690
const char *pattern, int prefix, int patternlen,
691
- int flags)
691
+ unsigned flags)
692
{
693
const char *name;
694
int namelen;
dir.h
+4
-4
@@ -27,7 +27,7 @@ struct exclude {
27
int nowildcardlen;
28
const char *base;
29
int baselen;
30
- int flags;
30
+ unsigned flags; /* EXC_FLAG_* */
31
32
/*
33
* Counting starts from 1 for line numbers in ignore files,
@@ -152,10 +152,10 @@ struct dir_entry *dir_add_ignored(struct dir_struct *dir, const char *pathname,
152
* attr.c:path_matches()
153
*/
154
extern int match_basename(const char *, int,
155
- const char *, int, int, int);
155
+ const char *, int, int, unsigned);
156
extern int match_pathname(const char *, int,
157
const char *, int,
158
- const char *, int, int, int);
158
+ const char *, int, int, unsigned);
159
160
extern struct exclude *last_exclude_matching(struct dir_struct *dir,
161
const char *name, int *dtype);
@@ -167,7 +167,7 @@ extern struct exclude_list *add_exclude_list(struct dir_struct *dir,
167
extern int add_excludes_from_file_to_list(const char *fname, const char *base, int baselen,
168
struct exclude_list *el, int check_index);
169
extern void add_excludes_from_file(struct dir_struct *, const char *fname);
170
-extern void parse_exclude_pattern(const char **string, int *patternlen, int *flags, int *nowildcardlen);
170
+extern void parse_exclude_pattern(const char **string, int *patternlen, unsigned *flags, int *nowildcardlen);
171
extern void add_exclude(const char *string, const char *base,
172
int baselen, struct exclude_list *el, int srcpos);
173
extern void clear_exclude_list(struct exclude_list *el);