Work around gcc warnings from curl headers
After master.k.org upgrade, I started seeing these warning messages: transport.c: In function 'get_refs_via_curl': transport.c:458: error: call to '_curl_easy_setopt_err_write_callback' declared with attribute warning: curl_easy_setopt expects a curl_write_callback argument for this option It appears that the curl header wants to enforce the function signature for callback function given to curl_easy_setopt() to be compatible with that of (*curl_write_callback) or fwrite. This patch seems to work the issue around. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Jul 4, 2008 at 00:37 UTC
f444e5286ee8986adb0899f85cc292fc2cd7cd04
2 files changed
+10
-12
http.c
+7
-6
@@ -30,10 +30,11 @@ static struct curl_slist *pragma_header;
30
31
static struct active_request_slot *active_queue_head = NULL;
32
33
-size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb,
34
- struct buffer *buffer)
33
+size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb, void *buffer_)
34
{
35
size_t size = eltsize * nmemb;
36
+ struct buffer *buffer = buffer_;
37
+
38
if (size > buffer->buf.len - buffer->posn)
39
size = buffer->buf.len - buffer->posn;
40
memcpy(ptr, buffer->buf.buf + buffer->posn, size);
@@ -42,17 +43,17 @@ size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb,
43
return size;
44
}
45
45
-size_t fwrite_buffer(const void *ptr, size_t eltsize,
46
- size_t nmemb, struct strbuf *buffer)
46
+size_t fwrite_buffer(const void *ptr, size_t eltsize, size_t nmemb, void *buffer_)
47
{
48
size_t size = eltsize * nmemb;
49
+ struct strbuf *buffer = buffer_;
50
+
51
strbuf_add(buffer, ptr, size);
52
data_received++;
53
return size;
54
}
55
54
-size_t fwrite_null(const void *ptr, size_t eltsize,
55
- size_t nmemb, struct strbuf *buffer)
56
+size_t fwrite_null(const void *ptr, size_t eltsize, size_t nmemb, void *strbuf)
57
{
58
data_received++;
59
return eltsize * nmemb;
http.h
+3
-6
@@ -64,12 +64,9 @@ struct buffer
64
};
65
66
/* Curl request read/write callbacks */
67
-extern size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb,
68
- struct buffer *buffer);
69
-extern size_t fwrite_buffer(const void *ptr, size_t eltsize,
70
- size_t nmemb, struct strbuf *buffer);
71
-extern size_t fwrite_null(const void *ptr, size_t eltsize,
72
- size_t nmemb, struct strbuf *buffer);
67
+extern size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb, void *strbuf);
68
+extern size_t fwrite_buffer(const void *ptr, size_t eltsize, size_t nmemb, void *strbuf);
69
+extern size_t fwrite_null(const void *ptr, size_t eltsize, size_t nmemb, void *strbuf);
70
71
/* Slot lifecycle functions */
72
extern struct active_request_slot *get_active_slot(void);