@matheusbsbs / matheus-bagliano / commits / f444e5286e
Fork 0

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);