summaryrefslogtreecommitdiff
path: root/src/tree.c
diff options
context:
space:
mode:
authorBen Straub <bs@github.com>2013-10-28 11:04:58 -0700
committerBen Straub <bs@github.com>2013-10-28 11:04:58 -0700
commit42c8f8f807fe986534e0cbabbfabc32cb4eb9077 (patch)
treefa76cb66e6d49855be344026b1cbe31d03962916 /src/tree.c
parenta7d28f40a2a01382b76c55ca0a0672c177adaf69 (diff)
parent5c50f22a93c78190fb7d81802199ff9defc8cf55 (diff)
downloadlibgit2-42c8f8f807fe986534e0cbabbfabc32cb4eb9077.tar.gz
Merge remote-tracking branch 'libgit2/development' into blame
Diffstat (limited to 'src/tree.c')
-rw-r--r--src/tree.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/tree.c b/src/tree.c
index 0bdf9a93e..bb59ff82b 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -237,7 +237,12 @@ void git_tree__free(void *_tree)
git_filemode_t git_tree_entry_filemode(const git_tree_entry *entry)
{
- return (git_filemode_t)entry->attr;
+ return normalize_filemode(entry->attr);
+}
+
+git_filemode_t git_tree_entry_filemode_raw(const git_tree_entry *entry)
+{
+ return entry->attr;
}
const char *git_tree_entry_name(const git_tree_entry *entry)
@@ -386,8 +391,6 @@ int git_tree__parse(void *_tree, git_odb_object *odb_obj)
if (git__strtol32(&attr, buffer, &buffer, 8) < 0 || !buffer)
return tree_error("Failed to parse tree. Can't parse filemode", NULL);
- attr = normalize_filemode(attr); /* make sure to normalize the filemode */
-
if (*buffer++ != ' ')
return tree_error("Failed to parse tree. Object is corrupted", NULL);