summaryrefslogtreecommitdiff
path: root/src/remote.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/remote.c')
-rw-r--r--src/remote.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/remote.c b/src/remote.c
index d541cd0cb..c59991002 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -267,6 +267,16 @@ int git_remote_update_tips(struct git_remote *remote)
return GIT_SUCCESS;
}
+void git_remote_disconnect(git_remote *remote)
+{
+ if (remote->transport != NULL) {
+ if (remote->transport->connected)
+ remote->transport->close(remote->transport);
+
+ remote->transport->free(remote->transport);
+ }
+}
+
void git_remote_free(git_remote *remote)
{
if (remote == NULL)
@@ -278,11 +288,6 @@ void git_remote_free(git_remote *remote)
git__free(remote->push.dst);
git__free(remote->url);
git__free(remote->name);
- if (remote->transport != NULL) {
- if (remote->transport->connected)
- remote->transport->close(remote->transport);
-
- remote->transport->free(remote->transport);
- }
+ git_remote_disconnect(remote);
git__free(remote);
}