aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2013-04-05 18:21:34 -0400
committerJunio C Hamano <gitster@pobox.com>2013-04-06 18:56:44 -0700
commit67d2a7b5c502496b0c5acd25a5e0ffa766b61745 (patch)
treed3f222a51f9a56905428dd7bab1c36b9d0d33016
parentd5ccbe4dfb43d95d1d04252490fcd200e6aa5759 (diff)
downloadgit-67d2a7b5c502496b0c5acd25a5e0ffa766b61745.tar.gz
git-67d2a7b5c502496b0c5acd25a5e0ffa766b61745.tar.xz
http: simplify http_error helper function
This helper function should really be a one-liner that prints an error message, but it has ended up unnecessarily complicated: 1. We call error() directly when we fail to start the curl request, so we must later avoid printing a duplicate error in http_error(). It would be much simpler in this case to just stuff the error message into our usual curl_errorstr buffer rather than printing it ourselves. This means that http_error does not even have to care about curl's exit value (the interesting part is in the errorstr buffer already). 2. We return the "ret" value passed in to us, but none of the callers actually cares about our return value. We can just drop this entirely. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--http-push.c2
-rw-r--r--http.c11
-rw-r--r--http.h5
-rw-r--r--remote-curl.c2
4 files changed, 8 insertions, 12 deletions
diff --git a/http-push.c b/http-push.c
index bd66f6ab6..439a555a7 100644
--- a/http-push.c
+++ b/http-push.c
@@ -1551,7 +1551,7 @@ static int remote_exists(const char *path)
ret = 0;
break;
case HTTP_ERROR:
- http_error(url, HTTP_ERROR);
+ http_error(url);
default:
ret = -1;
}
diff --git a/http.c b/http.c
index 45cc7c701..5e6f67d00 100644
--- a/http.c
+++ b/http.c
@@ -857,7 +857,8 @@ static int http_request(const char *url, struct strbuf *type,
run_active_slot(slot);
ret = handle_curl_result(&results);
} else {
- error("Unable to start HTTP request for %s", url);
+ snprintf(curl_errorstr, sizeof(curl_errorstr),
+ "failed to start HTTP request");
ret = HTTP_START_FAILED;
}
@@ -940,13 +941,9 @@ cleanup:
return ret;
}
-int http_error(const char *url, int ret)
+void http_error(const char *url)
{
- /* http_request has already handled HTTP_START_FAILED. */
- if (ret != HTTP_START_FAILED)
- error("%s while accessing %s", curl_errorstr, url);
-
- return ret;
+ error("%s while accessing %s", curl_errorstr, url);
}
int http_fetch_ref(const char *base, struct ref *ref)
diff --git a/http.h b/http.h
index 0fe54f413..fa65128f9 100644
--- a/http.h
+++ b/http.h
@@ -136,10 +136,9 @@ extern char *get_remote_object_url(const char *url, const char *hex,
int http_get_strbuf(const char *url, struct strbuf *content_type, struct strbuf *result, int options);
/*
- * Prints an error message using error() containing url and curl_errorstr,
- * and returns ret.
+ * Prints an error message using error() containing url and curl_errorstr.
*/
-int http_error(const char *url, int ret);
+void http_error(const char *url);
extern int http_fetch_ref(const char *base, struct ref *ref);
diff --git a/remote-curl.c b/remote-curl.c
index 6c6714b00..9abe4b711 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -216,7 +216,7 @@ static struct discovery* discover_refs(const char *service, int for_push)
die("Authentication failed for '%s'", url);
default:
show_http_message(&type, &buffer);
- http_error(url, http_ret);
+ http_error(url);
die("HTTP request failed");
}