diff options
| author | Carlos Martín Nieto <carlos@cmartin.tk> | 2011-11-21 20:44:03 +0100 |
|---|---|---|
| committer | Carlos Martín Nieto <carlos@cmartin.tk> | 2011-11-21 21:00:42 +0100 |
| commit | 4cf01e9a1a3b81d1c8bc77fcdf7e0c20792175a7 (patch) | |
| tree | cded9f4a5c77753ed239bab8867e92c27631bbb8 /src/remote.c | |
| parent | 0ca7ca3ef788a45293852a41c55040bc94607961 (diff) | |
| download | libgit2-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.c | 17 |
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); } |
