From c5159e624e55cb14c56a3e5f36200be409fba9d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Tue, 10 Dec 2019 22:33:00 +0000 Subject: [PATCH] credentials: unconfuse Go about the type For some reason cgo thinks the `credtype` field does not exist in `git_cred` so let's put it into the C code. --- credentials.go | 4 +++- wrapper.c | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/credentials.go b/credentials.go index 766619c..038313b 100644 --- a/credentials.go +++ b/credentials.go @@ -3,6 +3,8 @@ package git /* #include #include + +git_credtype_t _go_git_cred_credtype(git_cred *cred); */ import "C" import "unsafe" @@ -28,7 +30,7 @@ func (o *Cred) HasUsername() bool { } func (o *Cred) Type() CredType { - return (CredType)(o.ptr.credtype) + return (CredType)(C._go_git_cred_credtype(o.ptr)) } func credFromC(ptr *C.git_cred) *Cred { diff --git a/wrapper.c b/wrapper.c index 11c2f32..3656773 100644 --- a/wrapper.c +++ b/wrapper.c @@ -2,6 +2,7 @@ #include #include #include +#include typedef int (*gogit_submodule_cbk)(git_submodule *sm, const char *name, void *payload); @@ -180,4 +181,8 @@ void _go_git_writestream_free(git_writestream *stream) stream->free(stream); } +git_credtype_t _go_git_cred_credtype(git_cred *cred) { + return cred->credtype; +} + /* EOF */