diff options
| author | Patrick Steinhardt <[email protected]> | 2015-01-28 14:38:42 +0100 |
|---|---|---|
| committer | Patrick Steinhardt <[email protected]> | 2015-01-28 15:07:32 +0100 |
| commit | 2e481dbc7909beefd1afe199ba95b995819866cd (patch) | |
| tree | 562b93b4b3cfd079156302cd572682ceec01dbbb /submodule.go | |
| parent | 1107c6824f887423be59b1ae633553480304b70c (diff) | |
Fix ForeachSubmodule panicing.
As the SubmoduleVisitor function is called from inside libgit2 we
cannot use Go types in its signature. Fix by using C types
instead.
Diffstat (limited to 'submodule.go')
| -rw-r--r-- | submodule.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/submodule.go b/submodule.go index f3e9e83..6923c61 100644 --- a/submodule.go +++ b/submodule.go @@ -97,10 +97,10 @@ func (repo *Repository) LookupSubmodule(name string) (*Submodule, error) { type SubmoduleCbk func(sub *Submodule, name string) int //export SubmoduleVisitor -func SubmoduleVisitor(csub unsafe.Pointer, name string, cfct unsafe.Pointer) int { +func SubmoduleVisitor(csub unsafe.Pointer, name *C.char, cfct unsafe.Pointer) C.int { sub := &Submodule{(*C.git_submodule)(csub)} fct := *(*SubmoduleCbk)(cfct) - return fct(sub, name) + return (C.int)(fct(sub, C.GoString(name))) } func (repo *Repository) ForeachSubmodule(cbk SubmoduleCbk) error { |
