remote functions: return an int Stop returning a void for functions, future-proofing them to allow them to fail.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
diff --git a/include/git2/remote.h b/include/git2/remote.h
index f9454d6..a6ed4cb 100644
--- a/include/git2/remote.h
+++ b/include/git2/remote.h
@@ -378,8 +378,9 @@ GIT_EXTERN(int) git_remote_connected(const git_remote *remote);
* the operation has been cancelled and if so stops the operation.
*
* @param remote the remote
+ * @return 0 on success, or an error code
*/
-GIT_EXTERN(void) git_remote_stop(git_remote *remote);
+GIT_EXTERN(int) git_remote_stop(git_remote *remote);
/**
* Disconnect from the remote
@@ -387,8 +388,9 @@ GIT_EXTERN(void) git_remote_stop(git_remote *remote);
* Close the connection to the remote.
*
* @param remote the remote to disconnect from
+ * @return 0 on success, or an error code
*/
-GIT_EXTERN(void) git_remote_disconnect(git_remote *remote);
+GIT_EXTERN(int) git_remote_disconnect(git_remote *remote);
/**
* Free the memory associated with a remote
diff --git a/src/remote.c b/src/remote.c
index 19aa45d..e65d036 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -1676,20 +1676,24 @@ int git_remote_connected(const git_remote *remote)
return remote->transport->is_connected(remote->transport);
}
-void git_remote_stop(git_remote *remote)
+int git_remote_stop(git_remote *remote)
{
assert(remote);
if (remote->transport && remote->transport->cancel)
remote->transport->cancel(remote->transport);
+
+ return 0;
}
-void git_remote_disconnect(git_remote *remote)
+int git_remote_disconnect(git_remote *remote)
{
assert(remote);
if (git_remote_connected(remote))
remote->transport->close(remote->transport);
+
+ return 0;
}
void git_remote_free(git_remote *remote)