summaryrefslogtreecommitdiff
path: root/src/remote.c
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlos@cmartin.tk>2011-11-21 20:44:03 +0100
committerCarlos Martín Nieto <carlos@cmartin.tk>2011-11-21 21:00:42 +0100
commit4cf01e9a1a3b81d1c8bc77fcdf7e0c20792175a7 (patch)
treecded9f4a5c77753ed239bab8867e92c27631bbb8 /src/remote.c
parent0ca7ca3ef788a45293852a41c55040bc94607961 (diff)
downloadlibgit2-4cf01e9a1a3b81d1c8bc77fcdf7e0c20792175a7.tar.gz
Add git_remote_disconnect
It can be useful to separate disconnecting from actually destroying the object. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
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);
}