diff options
author | Russell Belfer <rb@github.com> | 2013-09-05 22:20:12 +0400 |
---|---|---|
committer | Russell Belfer <rb@github.com> | 2013-09-05 22:20:12 +0400 |
commit | f240acce865ec14df0d517d5000316a933e7ffed (patch) | |
tree | 33bb2efbb07ac32178ce242899ecaa8c6842c308 /src/tree.c | |
parent | 27061b151a7e0225186365ee0b5ca802d68782a9 (diff) |
Add more file mode permissions macros
This adds some more macros for some standard operations on file
modes, particularly related to permissions, and then updates a
number of places around the code base to use the new macros.
Diffstat (limited to 'src/tree.c')
-rw-r--r-- | src/tree.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/tree.c b/src/tree.c index 65d01b4d5..91309e107 100644 --- a/src/tree.c +++ b/src/tree.c @@ -10,7 +10,7 @@ #include "tree.h" #include "git2/repository.h" #include "git2/object.h" -#include "path.h" +#include "fileops.h" #include "tree-cache.h" #include "index.h" @@ -29,19 +29,19 @@ static bool valid_filemode(const int filemode) GIT_INLINE(git_filemode_t) normalize_filemode(git_filemode_t filemode) { /* Tree bits set, but it's not a commit */ - if (filemode & GIT_FILEMODE_TREE && !(filemode & 0100000)) + if (GIT_MODE_TYPE(filemode) == GIT_FILEMODE_TREE) return GIT_FILEMODE_TREE; - /* If any of the x bits is set */ - if (filemode & 0111) + /* If any of the x bits are set */ + if (GIT_PERMS_EXECUTABLE(filemode)) return GIT_FILEMODE_BLOB_EXECUTABLE; /* 16XXXX means commit */ - if ((filemode & GIT_FILEMODE_COMMIT) == GIT_FILEMODE_COMMIT) + if (GIT_MODE_TYPE(filemode) == GIT_FILEMODE_COMMIT) return GIT_FILEMODE_COMMIT; /* 12XXXX means commit */ - if ((filemode & GIT_FILEMODE_LINK) == GIT_FILEMODE_LINK) + if (GIT_MODE_TYPE(filemode) == GIT_FILEMODE_LINK) return GIT_FILEMODE_LINK; /* Otherwise, return a blob */ |