File tree Expand file tree Collapse file tree 1 file changed +9
-6
lines changed
Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -52,12 +52,13 @@ func (t Tree) EntryByName(filename string) *TreeEntry {
5252 defer C .free (unsafe .Pointer (cname ))
5353
5454 entry := C .git_tree_entry_byname (t .cast_ptr , cname )
55- runtime .KeepAlive (t )
5655 if entry == nil {
5756 return nil
5857 }
5958
60- return newTreeEntry (entry )
59+ goEntry := newTreeEntry (entry )
60+ runtime .KeepAlive (t )
61+ return goEntry
6162}
6263
6364// EntryById performs a lookup for a tree entry with the given SHA value.
@@ -71,13 +72,14 @@ func (t Tree) EntryById(id *Oid) *TreeEntry {
7172 defer runtime .UnlockOSThread ()
7273
7374 entry := C .git_tree_entry_byid (t .cast_ptr , id .toC ())
74- runtime .KeepAlive (t )
7575 runtime .KeepAlive (id )
7676 if entry == nil {
7777 return nil
7878 }
7979
80- return newTreeEntry (entry )
80+ goEntry := newTreeEntry (entry )
81+ runtime .KeepAlive (t )
82+ return goEntry
8183}
8284
8385// EntryByPath looks up an entry by its full path, recursing into
@@ -102,12 +104,13 @@ func (t Tree) EntryByPath(path string) (*TreeEntry, error) {
102104
103105func (t Tree ) EntryByIndex (index uint64 ) * TreeEntry {
104106 entry := C .git_tree_entry_byindex (t .cast_ptr , C .size_t (index ))
105- runtime .KeepAlive (t )
106107 if entry == nil {
107108 return nil
108109 }
109110
110- return newTreeEntry (entry )
111+ goEntry := newTreeEntry (entry )
112+ runtime .KeepAlive (t )
113+ return goEntry
111114}
112115
113116func (t Tree ) EntryCount () uint64 {
You can’t perform that action at this time.
0 commit comments