X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=dir.h;h=817c674da1e017cffea9dddae672f9125aca8475;hb=ff06c743dcd7f451381b41aeac4288179eaec428;hp=08c634547229fc1353fd092fb226293ed07368c3;hpb=6ec45f3bd180ed0404733d0f5c648691245cf571;p=git.git diff --git a/dir.h b/dir.h index 08c634547..817c674da 100644 --- a/dir.h +++ b/dir.h @@ -13,8 +13,9 @@ struct dir_entry { - unsigned ignored_entry : 1; - unsigned int len : 15; + unsigned int ignored : 1; + unsigned int ignored_dir : 1; + unsigned int len : 30; char name[FLEX_ARRAY]; /* more */ }; @@ -30,10 +31,10 @@ struct exclude_list { struct dir_struct { int nr, alloc; - unsigned int show_both: 1, - show_ignored:1, + unsigned int show_ignored:1, show_other_directories:1, - hide_empty_directories:1; + hide_empty_directories:1, + no_dirlinks:1; struct dir_entry **entries; /* Exclude info */ @@ -48,7 +49,7 @@ extern int common_prefix(const char **pathspec); #define MATCHED_EXACTLY 3 extern int match_pathspec(const char **pathspec, const char *name, int namelen, int prefix, char *seen); -extern int read_directory(struct dir_struct *, const char *path, const char *base, int baselen); +extern int read_directory(struct dir_struct *, const char *path, const char *base, int baselen, const char **pathspec); extern int push_exclude_per_directory(struct dir_struct *, const char *, int); extern void pop_exclude_per_directory(struct dir_struct *, int); @@ -57,5 +58,6 @@ extern void add_excludes_from_file(struct dir_struct *, const char *fname); extern void add_exclude(const char *string, const char *base, int baselen, struct exclude_list *which); extern int file_exists(const char *); +extern struct dir_entry *dir_add_name(struct dir_struct *dir, const char *pathname, int len); #endif