summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVicent Martí <tanoku@gmail.com>2011-08-30 03:39:28 -0700
committerVicent Martí <tanoku@gmail.com>2011-08-30 03:39:28 -0700
commitaa2f68d80788e9ff6371b0f657901476085cebd0 (patch)
tree9be4f85687cf224a524bf74845d74cbe7455b83a
parent420cbdc24d0ad96066d7567e9181faec45e61aad (diff)
parentc75a890b603179d5ea1d646d63019688f995f87c (diff)
downloadlibgit2-aa2f68d80788e9ff6371b0f657901476085cebd0.tar.gz
Merge pull request #378 from kiryl/Wuninitialized
Wuninitialized
-rw-r--r--src/common.h9
-rw-r--r--src/errors.c8
-rw-r--r--src/transport_git.c2
3 files changed, 11 insertions, 8 deletions
diff --git a/src/common.h b/src/common.h
index e1e7f0035..5986a6568 100644
--- a/src/common.h
+++ b/src/common.h
@@ -46,8 +46,13 @@ typedef SSIZE_T ssize_t;
#include "thread-utils.h"
#include "bswap.h"
-extern int git__throw(int error, const char *, ...) GIT_FORMAT_PRINTF(2, 3);
-extern int git__rethrow(int error, const char *, ...) GIT_FORMAT_PRINTF(2, 3);
+extern void git___throw(const char *, ...) GIT_FORMAT_PRINTF(1, 2);
+#define git__throw(error, ...) \
+ (git___throw(__VA_ARGS__), error)
+
+extern void git___rethrow(const char *, ...) GIT_FORMAT_PRINTF(1, 2);
+#define git__rethrow(error, ...) \
+ (git___rethrow(__VA_ARGS__), error)
#include "util.h"
diff --git a/src/errors.c b/src/errors.c
index e9022c3d1..5031245de 100644
--- a/src/errors.c
+++ b/src/errors.c
@@ -77,7 +77,7 @@ const char *git_strerror(int num)
return "Unknown error";
}
-int git__rethrow(int error, const char *msg, ...)
+void git___rethrow(const char *msg, ...)
{
char new_error[1024];
char *old_error = NULL;
@@ -91,19 +91,15 @@ int git__rethrow(int error, const char *msg, ...)
old_error = strdup(g_last_error);
snprintf(g_last_error, sizeof(g_last_error), "%s \n - %s", new_error, old_error);
free(old_error);
-
- return error;
}
-int git__throw(int error, const char *msg, ...)
+void git___throw(const char *msg, ...)
{
va_list va;
va_start(va, msg);
vsnprintf(g_last_error, sizeof(g_last_error), msg, va);
va_end(va);
-
- return error;
}
const char *git_lasterror(void)
diff --git a/src/transport_git.c b/src/transport_git.c
index c6e1f33a1..00f608ec9 100644
--- a/src/transport_git.c
+++ b/src/transport_git.c
@@ -151,6 +151,8 @@ static int do_connect(transport_git *t, const char *url)
url += strlen(prefix);
error = extract_host_and_port(&host, &port, url);
+ if (error < GIT_SUCCESS)
+ return error;
s = gitno_connect(host, port);
connected = 1;
error = send_request(s, NULL, url);