Skip to content

Commit f444e52

Browse files
committed
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>
1 parent 182c5af commit f444e52

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

http.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,11 @@ static struct curl_slist *pragma_header;
3030

3131
static struct active_request_slot *active_queue_head = NULL;
3232

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_)
3534
{
3635
size_t size = eltsize * nmemb;
36+
struct buffer *buffer = buffer_;
37+
3738
if (size > buffer->buf.len - buffer->posn)
3839
size = buffer->buf.len - buffer->posn;
3940
memcpy(ptr, buffer->buf.buf + buffer->posn, size);
@@ -42,17 +43,17 @@ size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb,
4243
return size;
4344
}
4445

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_)
4747
{
4848
size_t size = eltsize * nmemb;
49+
struct strbuf *buffer = buffer_;
50+
4951
strbuf_add(buffer, ptr, size);
5052
data_received++;
5153
return size;
5254
}
5355

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)
5657
{
5758
data_received++;
5859
return eltsize * nmemb;

http.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,9 @@ struct buffer
6464
};
6565

6666
/* 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);
7370

7471
/* Slot lifecycle functions */
7572
extern struct active_request_slot *get_active_slot(void);

0 commit comments

Comments
 (0)