diff options
Diffstat (limited to 'remote.go')
| -rw-r--r-- | remote.go | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -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. |
