summaryrefslogtreecommitdiff
path: root/remote.go
diff options
context:
space:
mode:
Diffstat (limited to 'remote.go')
-rw-r--r--remote.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/remote.go b/remote.go
index e312a3a..2696e20 100644
--- a/remote.go
+++ b/remote.go
@@ -564,12 +564,20 @@ func freeProxyOptions(copts *C.git_proxy_options) {
C.free(unsafe.Pointer(copts.url))
}
-// RemoteIsValidName returns whether the remote name is well-formed.
-func RemoteIsValidName(name string) bool {
+// RemoteNameIsValid returns whether the remote name is well-formed.
+func RemoteNameIsValid(name string) (bool, error) {
cname := C.CString(name)
defer C.free(unsafe.Pointer(cname))
- return C.git_remote_is_valid_name(cname) == 1
+ runtime.LockOSThread()
+ defer runtime.UnlockOSThread()
+
+ var valid C.int
+ ret := C.git_remote_name_is_valid(&valid, cname)
+ if ret < 0 {
+ return false, MakeGitError(ret)
+ }
+ return valid == 1, nil
}
// free releases the resources of the Remote.