@@ -56,27 +56,29 @@ - (NSUInteger)entryCount {
56
56
return (NSUInteger )git_tree_entrycount (self.git_tree );
57
57
}
58
58
59
- - (GTTreeEntry *)createEntryWithCopyOfEntry : (const git_tree_entry *)entry {
60
- return (entry != NULL ? [GTTreeEntry entryWithCopyOfEntry : entry parentTree: self error: nil ] : nil );
59
+ - (GTTreeEntry *)createEntryWithEntry : (const git_tree_entry *)entry error : ( NSError **) error {
60
+ return (entry != NULL ? [GTTreeEntry entryWithEntry : entry parentTree: self error: nil ] : nil );
61
61
}
62
62
63
63
- (GTTreeEntry *)entryAtIndex : (NSUInteger )index {
64
- return [self createEntryWithCopyOfEntry :git_tree_entry_byindex (self .git_tree, index)];
64
+ return [self createEntryWithEntry :git_tree_entry_byindex (self .git_tree, index) error: nil ];
65
65
}
66
66
67
67
- (GTTreeEntry *)entryWithName : (NSString *)name {
68
- return [self createEntryWithCopyOfEntry :git_tree_entry_byname (self .git_tree, name.UTF8String)];
68
+ return [self createEntryWithEntry :git_tree_entry_byname (self .git_tree, name.UTF8String) error: nil ];
69
69
}
70
70
71
71
- (GTTreeEntry *)entryWithPath : (NSString *)path error : (NSError **)error {
72
- git_tree_entry *entry = NULL ;
73
- int gitError = git_tree_entry_bypath (&entry , self.git_tree , path.UTF8String );
72
+ git_tree_entry *internalEntry = NULL ;
73
+ int gitError = git_tree_entry_bypath (&internalEntry , self.git_tree , path.UTF8String );
74
74
if (error != GIT_OK) {
75
- if (error != NULL ) *error = [NSError git_errorFor: gitError description: @" Failed to get tree ntry %@ " , path];
75
+ if (error != NULL ) *error = [NSError git_errorFor: gitError description: @" Failed to get tree entry %@ " , path];
76
76
return nil ;
77
77
}
78
78
79
- return [GTTreeEntry entryWithEntry: entry parentTree: self ];
79
+ GTTreeEntry *entry = [self createEntryWithEntry: internalEntry error: error];
80
+ git_tree_entry_free (internalEntry);
81
+ return entry;
80
82
}
81
83
82
84
- (git_tree *)git_tree {
@@ -90,7 +92,7 @@ static int treewalk_cb(const char *root, const git_tree_entry *git_entry, void *
90
92
NSString *rootString = @(root);
91
93
GTTreeEntry *parentEntry = enumerationStruct->directoryStructure [rootString];
92
94
GTTree *parentTree = parentEntry != nil ? parentEntry.tree : enumerationStruct->myself ;
93
- GTTreeEntry *entry = [GTTreeEntry entryWithCopyOfEntry : git_entry parentTree: parentTree error: nil ];
95
+ GTTreeEntry *entry = [GTTreeEntry entryWithEntry : git_entry parentTree: parentTree error: nil ];
94
96
95
97
if (entry.type == GTObjectTypeTree) {
96
98
NSString *path = [rootString stringByAppendingPathComponent: entry.name];
0 commit comments