Jeff King <[email protected]> writes:
> But I think this block (even before my patch) also needs to handle the
> case where "value" is NULL (presumably by complaining with
> config_error_nonbool).
OK, so squashes found to be necessary so far amounts to the attached
patch. I still haven't figured out the best way to rephrase the "by
default" in the proposed log message that made me stutter while
reading it, though.
http.c | 13 ++++++++++---
http.h | 2 +-
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/http.c b/http.c
index 6c4d2ed..aae9944 100644
--- a/http.c
+++ b/http.c
@@ -325,8 +325,15 @@ static int http_options(const char *var, const char
*value, void *cb)
}
if (!strcmp("http.extraheader", var)) {
- extra_http_headers =
- curl_slist_append(extra_http_headers, value);
+ if (!value) {
+ return config_error_nonbool(var);
+ } else if (!*value) {
+ curl_slist_free_all(extra_http_headers);
+ extra_http_headers = NULL;
+ } else {
+ extra_http_headers =
+ curl_slist_append(extra_http_headers, value);
+ }
return 0;
}
@@ -1172,7 +1179,7 @@ int run_one_slot(struct active_request_slot *slot,
return handle_curl_result(results);
}
-struct curl_slist *http_copy_default_headers()
+struct curl_slist *http_copy_default_headers(void)
{
struct curl_slist *headers = NULL, *h;
diff --git a/http.h b/http.h
index 5f13695..36f558b 100644
--- a/http.h
+++ b/http.h
@@ -106,7 +106,7 @@ extern void step_active_slots(void);
extern void http_init(struct remote *remote, const char *url,
int proactive_auth);
extern void http_cleanup(void);
-extern struct curl_slist *http_copy_default_headers();
+extern struct curl_slist *http_copy_default_headers(void);
extern long int git_curl_ipresolve;
extern int active_requests;
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html