http: make curl callbacks match contracts from curl header
Yes, these don't match perfectly with the void* first parameter of the fread/fwrite in the standard library, but they do match the curl expected method signature. This is needed when a refactor passes a curl_write_callback around, which would otherwise give incorrect parameter warnings. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Dan McGee committed
May 3, 2011 at 23:47 UTC
a04ff3ec32b8a998a18f8b515ae4c48c1846b327
4 files changed
+12
-12
http-walker.c
+2
-2
@@ -185,7 +185,7 @@ static void process_alternates_response(void *callback_data)
185
struct active_request_slot *slot = alt_req->slot;
186
struct alt_base *tail = cdata->alt;
187
const char *base = alt_req->base;
188
- static const char null_byte = '\0';
188
+ const char null_byte = '\0';
189
char *data;
190
int i = 0;
191
@@ -218,7 +218,7 @@ static void process_alternates_response(void *callback_data)
218
}
219
}
220
221
- fwrite_buffer(&null_byte, 1, 1, alt_req->buffer);
221
+ fwrite_buffer((char *)&null_byte, 1, 1, alt_req->buffer);
222
alt_req->buffer->len--;
223
data = alt_req->buffer->buf;
224
http.c
+6
-6
@@ -60,7 +60,7 @@ static struct curl_slist *no_pragma_header;
60
61
static struct active_request_slot *active_queue_head;
62
63
-size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb, void *buffer_)
63
+size_t fread_buffer(char *ptr, size_t eltsize, size_t nmemb, void *buffer_)
64
{
65
size_t size = eltsize * nmemb;
66
struct buffer *buffer = buffer_;
@@ -92,7 +92,7 @@ curlioerr ioctl_buffer(CURL *handle, int cmd, void *clientp)
92
}
93
#endif
94
95
-size_t fwrite_buffer(const void *ptr, size_t eltsize, size_t nmemb, void *buffer_)
95
+size_t fwrite_buffer(char *ptr, size_t eltsize, size_t nmemb, void *buffer_)
96
{
97
size_t size = eltsize * nmemb;
98
struct strbuf *buffer = buffer_;
@@ -102,7 +102,7 @@ size_t fwrite_buffer(const void *ptr, size_t eltsize, size_t nmemb, void *buffer
102
return size;
103
}
104
105
-size_t fwrite_null(const void *ptr, size_t eltsize, size_t nmemb, void *strbuf)
105
+size_t fwrite_null(char *ptr, size_t eltsize, size_t nmemb, void *strbuf)
106
{
107
data_received++;
108
return eltsize * nmemb;
@@ -1167,7 +1167,7 @@ abort:
1167
}
1168
1169
/* Helpers for fetching objects (loose) */
1170
-static size_t fwrite_sha1_file(void *ptr, size_t eltsize, size_t nmemb,
1170
+static size_t fwrite_sha1_file(char *ptr, size_t eltsize, size_t nmemb,
1171
void *data)
1172
{
1173
unsigned char expn[4096];
@@ -1184,7 +1184,7 @@ static size_t fwrite_sha1_file(void *ptr, size_t eltsize, size_t nmemb,
1184
} while (posn < size);
1185
1186
freq->stream.avail_in = size;
1187
- freq->stream.next_in = ptr;
1187
+ freq->stream.next_in = (void *)ptr;
1188
do {
1189
freq->stream.next_out = expn;
1190
freq->stream.avail_out = sizeof(expn);
@@ -1203,7 +1203,7 @@ struct http_object_request *new_http_object_request(const char *base_url,
1203
char *filename;
1204
char prevfile[PATH_MAX];
1205
int prevlocal;
1206
- unsigned char prev_buf[PREV_BUF_SIZE];
1206
+ char prev_buf[PREV_BUF_SIZE];
1207
ssize_t prev_read = 0;
1208
long prev_posn = 0;
1209
char range[RANGE_HEADER_SIZE];
http.h
+3
-3
@@ -66,9 +66,9 @@ struct buffer {
66
};
67
68
/* Curl request read/write callbacks */
69
-extern size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb, void *strbuf);
70
-extern size_t fwrite_buffer(const void *ptr, size_t eltsize, size_t nmemb, void *strbuf);
71
-extern size_t fwrite_null(const void *ptr, size_t eltsize, size_t nmemb, void *strbuf);
69
+extern size_t fread_buffer(char *ptr, size_t eltsize, size_t nmemb, void *strbuf);
70
+extern size_t fwrite_buffer(char *ptr, size_t eltsize, size_t nmemb, void *strbuf);
71
+extern size_t fwrite_null(char *ptr, size_t eltsize, size_t nmemb, void *strbuf);
72
#ifndef NO_CURL_IOCTL
73
extern curlioerr ioctl_buffer(CURL *handle, int cmd, void *clientp);
74
#endif
remote-curl.c
+1
-1
@@ -347,7 +347,7 @@ static curlioerr rpc_ioctl(CURL *handle, int cmd, void *clientp)
347
}
348
#endif
349
350
-static size_t rpc_in(const void *ptr, size_t eltsize,
350
+static size_t rpc_in(char *ptr, size_t eltsize,
351
size_t nmemb, void *buffer_)
352
{
353
size_t size = eltsize * nmemb;