diff options
Diffstat (limited to 'src/remote.c')
-rw-r--r-- | src/remote.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/remote.c b/src/remote.c index dc8d9681c..5b75e510c 100644 --- a/src/remote.c +++ b/src/remote.c @@ -1000,10 +1000,12 @@ void git_remote_check_cert(git_remote *remote, int check) remote->check_cert = check; } -void git_remote_set_callbacks(git_remote *remote, git_remote_callbacks *callbacks) +int git_remote_set_callbacks(git_remote *remote, git_remote_callbacks *callbacks) { assert(remote && callbacks); + GITERR_CHECK_VERSION(callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks"); + memcpy(&remote->callbacks, callbacks, sizeof(git_remote_callbacks)); if (remote->transport && remote->transport->set_callbacks) @@ -1011,6 +1013,8 @@ void git_remote_set_callbacks(git_remote *remote, git_remote_callbacks *callback remote->callbacks.progress, NULL, remote->callbacks.payload); + + return 0; } void git_remote_set_cred_acquire_cb( @@ -1026,6 +1030,8 @@ int git_remote_set_transport(git_remote *remote, git_transport *transport) { assert(remote && transport); + GITERR_CHECK_VERSION(transport, GIT_TRANSPORT_VERSION, "git_transport"); + if (remote->transport) { giterr_set(GITERR_NET, "A transport is already bound to this remote"); return -1; |