C99 compatibility.

Get 99% of the way there for --std=c89 -pedantic for core files. Also cleans
up follow up warnings and others in tests.
This commit is contained in:
Robert Mustacchi 2011-07-07 18:25:52 -07:00 committed by Ryan Dahl
parent 786789490e
commit 8c00b369b4
12 changed files with 38 additions and 31 deletions

View File

@ -21,7 +21,8 @@
CC ?= $(PREFIX)gcc CC ?= $(PREFIX)gcc
AR ?= $(PREFIX)ar AR ?= $(PREFIX)ar
E= E=
CFLAGS=--std=gnu89 -g CSTDFLAG=--std=c89 -pedantic
CFLAGS=-g
CPPFLAGS += -Isrc/ev CPPFLAGS += -Isrc/ev
LINKFLAGS=-lm LINKFLAGS=-lm
@ -80,13 +81,13 @@ uv.a: src/uv-unix.o src/uv-common.o src/uv-platform.o src/ev/ev.o src/uv-eio.o s
src/eio/eio.o $(CARES_OBJS) src/eio/eio.o $(CARES_OBJS)
src/uv-platform.o: src/$(UV_OS_FILE) include/uv.h include/uv-unix.h src/uv-platform.o: src/$(UV_OS_FILE) include/uv.h include/uv-unix.h
$(CC) $(CPPFLAGS) $(CFLAGS) -c src/$(UV_OS_FILE) -o src/uv-platform.o $(CC) $(CSTDFLAG) $(CPPFLAGS) $(CFLAGS) -c src/$(UV_OS_FILE) -o src/uv-platform.o
src/uv-unix.o: src/uv-unix.c include/uv.h include/uv-unix.h src/uv-unix.o: src/uv-unix.c include/uv.h include/uv-unix.h
$(CC) $(CPPFLAGS) -Ieio $(CFLAGS) -c src/uv-unix.c -o src/uv-unix.o $(CC) $(CSTDFLAG) $(CPPFLAGS) -Ieio $(CFLAGS) -c src/uv-unix.c -o src/uv-unix.o
src/uv-common.o: src/uv-common.c include/uv.h include/uv-unix.h src/uv-common.o: src/uv-common.c include/uv.h include/uv-unix.h
$(CC) $(CPPFLAGS) $(CFLAGS) -c src/uv-common.c -o src/uv-common.o $(CC) $(CSTDFLAG) $(CPPFLAGS) $(CFLAGS) -c src/uv-common.c -o src/uv-common.o
src/ev/ev.o: src/ev/ev.c src/ev/ev.o: src/ev/ev.c
$(CC) $(CPPFLAGS) $(CFLAGS) -c src/ev/ev.c -o src/ev/ev.o -DEV_CONFIG_H=\"$(EV_CONFIG)\" $(CC) $(CPPFLAGS) $(CFLAGS) -c src/ev/ev.c -o src/ev/ev.o -DEV_CONFIG_H=\"$(EV_CONFIG)\"
@ -101,7 +102,7 @@ src/eio/eio.o: src/eio/eio.c
$(CC) $(EIO_CPPFLAGS) $(CFLAGS) -c src/eio/eio.c -o src/eio/eio.o $(CC) $(EIO_CPPFLAGS) $(CFLAGS) -c src/eio/eio.c -o src/eio/eio.o
src/uv-eio.o: src/uv-eio.c src/uv-eio.o: src/uv-eio.c
$(CC) $(CPPFLAGS) -Isrc/eio/ $(CFLAGS) -c src/uv-eio.c -o src/uv-eio.o $(CC) $(CPPFLAGS) -Isrc/eio/ $(CSTDFLAG) $(CFLAGS) -c src/uv-eio.c -o src/uv-eio.o
clean-platform: clean-platform:

View File

@ -176,7 +176,7 @@ enum
enum enum
{ {
EIO_MCL_CURRENT = 1, EIO_MCL_CURRENT = 1,
EIO_MCL_FUTURE = 2, EIO_MCL_FUTURE = 2
}; };
/* request priorities */ /* request priorities */
@ -184,7 +184,7 @@ enum
enum { enum {
EIO_PRI_MIN = -4, EIO_PRI_MIN = -4,
EIO_PRI_MAX = 4, EIO_PRI_MAX = 4,
EIO_PRI_DEFAULT = 0, EIO_PRI_DEFAULT = 0
}; };
/* eio request structure */ /* eio request structure */

View File

@ -167,7 +167,7 @@ struct uv_req_s {
uv_req_type type; uv_req_type type;
/* public */ /* public */
uv_handle_t* handle; uv_handle_t* handle;
void* cb; void *(*cb)(void *);
void* data; void* data;
/* private */ /* private */
UV_REQ_PRIVATE_FIELDS UV_REQ_PRIVATE_FIELDS
@ -176,7 +176,7 @@ struct uv_req_s {
/* /*
* Initialize a request for use with uv_write, uv_shutdown, or uv_connect. * Initialize a request for use with uv_write, uv_shutdown, or uv_connect.
*/ */
void uv_req_init(uv_req_t* req, uv_handle_t* handle, void* cb); void uv_req_init(uv_req_t* req, uv_handle_t* handle, void *(*cb)(void *));
int uv_shutdown(uv_req_t* req); int uv_shutdown(uv_req_t* req);

View File

@ -996,7 +996,9 @@ int uv_write(uv_req_t* req, uv_buf_t bufs[], int bufcnt) {
memcpy(req->bufs, bufs, bufcnt * sizeof(uv_buf_t)); memcpy(req->bufs, bufs, bufcnt * sizeof(uv_buf_t));
req->bufcnt = bufcnt; req->bufcnt = bufcnt;
// fprintf(stderr, "cnt: %d bufs: %p bufsml: %p\n", bufcnt, req->bufs, req->bufsml); /*
* fprintf(stderr, "cnt: %d bufs: %p bufsml: %p\n", bufcnt, req->bufs, req->bufsml);
*/
req->write_index = 0; req->write_index = 0;
tcp->write_queue_size += uv__buf_count(bufs, bufcnt); tcp->write_queue_size += uv__buf_count(bufs, bufcnt);
@ -1096,7 +1098,7 @@ int uv_read_stop(uv_stream_t* stream) {
} }
void uv_req_init(uv_req_t* req, uv_handle_t* handle, void* cb) { void uv_req_init(uv_req_t* req, uv_handle_t* handle, void *(*cb)(void *)) {
uv_counters()->req_init++; uv_counters()->req_init++;
req->type = UV_UNKNOWN_REQ; req->type = UV_UNKNOWN_REQ;
req->cb = cb; req->cb = cb;
@ -1556,6 +1558,7 @@ int uv_getaddrinfo(uv_getaddrinfo_t* handle,
const char* hostname, const char* hostname,
const char* service, const char* service,
const struct addrinfo* hints) { const struct addrinfo* hints) {
eio_req* req;
uv_eio_init(); uv_eio_init();
if (handle == NULL || cb == NULL || if (handle == NULL || cb == NULL ||
@ -1584,7 +1587,7 @@ int uv_getaddrinfo(uv_getaddrinfo_t* handle,
uv_ref(); uv_ref();
eio_req* req = eio_custom(getaddrinfo_thread_proc, EIO_PRI_DEFAULT, req = eio_custom(getaddrinfo_thread_proc, EIO_PRI_DEFAULT,
uv_getaddrinfo_done, handle); uv_getaddrinfo_done, handle);
assert(req); assert(req);
assert(req->data == handle); assert(req->data == handle);

View File

@ -513,7 +513,7 @@ void uv_init() {
} }
void uv_req_init(uv_req_t* req, uv_handle_t* handle, void* cb) { void uv_req_init(uv_req_t* req, uv_handle_t* handle, void *(*cb)(void *)) {
uv_counters()->req_init++; uv_counters()->req_init++;
req->type = UV_UNKNOWN_REQ; req->type = UV_UNKNOWN_REQ;
req->flags = 0; req->flags = 0;

View File

@ -82,7 +82,7 @@ static void after_read(uv_stream_t* handle, ssize_t nread, uv_buf_t buf) {
} }
req = (uv_req_t*) malloc(sizeof *req); req = (uv_req_t*) malloc(sizeof *req);
uv_req_init(req, (uv_handle_t*)handle, after_shutdown); uv_req_init(req, (uv_handle_t*)handle, (void *(*)(void *))after_shutdown);
uv_shutdown(req); uv_shutdown(req);
return; return;
@ -108,7 +108,7 @@ static void after_read(uv_stream_t* handle, ssize_t nread, uv_buf_t buf) {
wr = (write_req_t*) malloc(sizeof *wr); wr = (write_req_t*) malloc(sizeof *wr);
uv_req_init(&wr->req, (uv_handle_t*)handle, after_write); uv_req_init(&wr->req, (uv_handle_t*)handle, (void *(*)(void *))after_write);
wr->buf.base = buf.base; wr->buf.base = buf.base;
wr->buf.len = nread; wr->buf.len = nread;
if (uv_write(&wr->req, &wr->buf, 1)) { if (uv_write(&wr->req, &wr->buf, 1)) {
@ -135,7 +135,7 @@ static void on_connection(uv_handle_t* server, int status) {
int r; int r;
if (status != 0) { if (status != 0) {
fprintf(stderr, "Connect error %d\n", uv_last_error()); fprintf(stderr, "Connect error %d\n", uv_last_error().code);
} }
ASSERT(status == 0); ASSERT(status == 0);

View File

@ -70,7 +70,7 @@ static void shutdown_cb(uv_req_t* req, int status) {
static void read_cb(uv_stream_t* tcp, ssize_t nread, uv_buf_t buf) { static void read_cb(uv_stream_t* tcp, ssize_t nread, uv_buf_t buf) {
ASSERT(nested == 0 && "read_cb must be called from a fresh stack"); ASSERT(nested == 0 && "read_cb must be called from a fresh stack");
printf("Read. nread == %d\n", nread); printf("Read. nread == %d\n", (int)nread);
free(buf.base); free(buf.base);
if (nread == 0) { if (nread == 0) {
@ -97,7 +97,7 @@ static void read_cb(uv_stream_t* tcp, ssize_t nread, uv_buf_t buf) {
/* from a fresh stack. */ /* from a fresh stack. */
if (bytes_received == sizeof MESSAGE) { if (bytes_received == sizeof MESSAGE) {
nested++; nested++;
uv_req_init(&shutdown_req, (uv_handle_t*)tcp, shutdown_cb); uv_req_init(&shutdown_req, (uv_handle_t*)tcp, (void *(*)(void *))shutdown_cb);
puts("Shutdown"); puts("Shutdown");
@ -167,7 +167,7 @@ static void connect_cb(uv_req_t* req, int status) {
buf.base = (char*) &MESSAGE; buf.base = (char*) &MESSAGE;
buf.len = sizeof MESSAGE; buf.len = sizeof MESSAGE;
uv_req_init(&write_req, req->handle, write_cb); uv_req_init(&write_req, req->handle, (void *(*)(void *))write_cb);
if (uv_write(&write_req, &buf, 1)) { if (uv_write(&write_req, &buf, 1)) {
FATAL("uv_write failed"); FATAL("uv_write failed");
@ -191,7 +191,9 @@ TEST_IMPL(callback_stack) {
puts("Connecting..."); puts("Connecting...");
nested++; nested++;
uv_req_init(&connect_req, (uv_handle_t*)&client, connect_cb); uv_req_init(&connect_req, (uv_handle_t*)&client,
(void *(*)(void *))connect_cb);
if (uv_tcp_connect(&connect_req, addr)) { if (uv_tcp_connect(&connect_req, addr)) {
FATAL("uv_tcp_connect failed"); FATAL("uv_tcp_connect failed");
} }

View File

@ -103,7 +103,7 @@ void connection_fail(uv_connect_cb connect_cb) {
/* We are never doing multiple reads/connects at a time anyway. */ /* We are never doing multiple reads/connects at a time anyway. */
/* so these handles can be pre-initialized. */ /* so these handles can be pre-initialized. */
uv_req_init(&req, (uv_handle_t*)&tcp, connect_cb); uv_req_init(&req, (uv_handle_t*)&tcp, (void *(*)(void *))connect_cb);
uv_tcp_bind(&tcp, client_addr); uv_tcp_bind(&tcp, client_addr);
r = uv_tcp_connect(&req, server_addr); r = uv_tcp_connect(&req, server_addr);

View File

@ -178,7 +178,7 @@ static void client_connect() {
r = uv_tcp_init(client); r = uv_tcp_init(client);
ASSERT(r == 0); ASSERT(r == 0);
uv_req_init(connect_req, (uv_handle_t*)client, connect_cb); uv_req_init(connect_req, (uv_handle_t*)client, (void *(*)(void *))connect_cb);
r = uv_tcp_connect(connect_req, addr); r = uv_tcp_connect(connect_req, addr);
ASSERT(r == 0); ASSERT(r == 0);
} }

View File

@ -82,7 +82,8 @@ static void pinger_write_ping(pinger_t* pinger) {
buf.len = strlen(PING); buf.len = strlen(PING);
req = (uv_req_t*)malloc(sizeof(*req)); req = (uv_req_t*)malloc(sizeof(*req));
uv_req_init(req, (uv_handle_t*)(&pinger->tcp), pinger_after_write); uv_req_init(req, (uv_handle_t*)(&pinger->tcp),
(void *(*)(void *))pinger_after_write);
if (uv_write(req, &buf, 1)) { if (uv_write(req, &buf, 1)) {
FATAL("uv_write failed"); FATAL("uv_write failed");
@ -158,7 +159,7 @@ static void pinger_new() {
/* We are never doing multiple reads/connects at a time anyway. */ /* We are never doing multiple reads/connects at a time anyway. */
/* so these handles can be pre-initialized. */ /* so these handles can be pre-initialized. */
uv_req_init(&pinger->connect_req, (uv_handle_t*)(&pinger->tcp), uv_req_init(&pinger->connect_req, (uv_handle_t*)(&pinger->tcp),
pinger_on_connect); (void *(*)(void *))pinger_on_connect);
r = uv_tcp_connect(&pinger->connect_req, server_addr); r = uv_tcp_connect(&pinger->connect_req, server_addr);
ASSERT(!r); ASSERT(!r);
@ -195,7 +196,7 @@ static void pinger_v6_new() {
/* We are never doing multiple reads/connects at a time anyway. */ /* We are never doing multiple reads/connects at a time anyway. */
/* so these handles can be pre-initialized. */ /* so these handles can be pre-initialized. */
uv_req_init(&pinger->connect_req, (uv_handle_t*)(&pinger->tcp), uv_req_init(&pinger->connect_req, (uv_handle_t*)(&pinger->tcp),
pinger_on_connect); (void *(*)(void *))pinger_on_connect);
r = uv_tcp_connect6(&pinger->connect_req, server_addr); r = uv_tcp_connect6(&pinger->connect_req, server_addr);
ASSERT(!r); ASSERT(!r);

View File

@ -102,7 +102,7 @@ static void connect_cb(uv_req_t *req, int status) {
uv_write(&write_req, &qbuf, 1); uv_write(&write_req, &qbuf, 1);
/* Shutdown our end of the connection. */ /* Shutdown our end of the connection. */
uv_req_init(&shutdown_req, (uv_handle_t*)&tcp, shutdown_cb); uv_req_init(&shutdown_req, (uv_handle_t*)&tcp, (void *(*)(void *))shutdown_cb);
uv_shutdown(&shutdown_req); uv_shutdown(&shutdown_req);
called_connect_cb++; called_connect_cb++;
@ -165,7 +165,7 @@ TEST_IMPL(shutdown_eof) {
r = uv_tcp_init(&tcp); r = uv_tcp_init(&tcp);
ASSERT(!r); ASSERT(!r);
uv_req_init(&connect_req, (uv_handle_t*) &tcp, connect_cb); uv_req_init(&connect_req, (uv_handle_t*) &tcp, (void *(*)(void *))connect_cb);
r = uv_tcp_connect(&connect_req, server_addr); r = uv_tcp_connect(&connect_req, server_addr);
ASSERT(!r); ASSERT(!r);

View File

@ -144,7 +144,7 @@ static void connect_cb(uv_req_t* req, int status) {
req = (uv_req_t*)malloc(sizeof *req); req = (uv_req_t*)malloc(sizeof *req);
ASSERT(req != NULL); ASSERT(req != NULL);
uv_req_init(req, (uv_handle_t*)tcp, write_cb); uv_req_init(req, (uv_handle_t*)tcp, (void *(*)(void *))write_cb);
r = uv_write(req, (uv_buf_t*)&send_bufs, CHUNKS_PER_WRITE); r = uv_write(req, (uv_buf_t*)&send_bufs, CHUNKS_PER_WRITE);
ASSERT(r == 0); ASSERT(r == 0);
} }
@ -152,7 +152,7 @@ static void connect_cb(uv_req_t* req, int status) {
/* Shutdown on drain. FIXME: dealloc req? */ /* Shutdown on drain. FIXME: dealloc req? */
req = (uv_req_t*) malloc(sizeof(uv_req_t)); req = (uv_req_t*) malloc(sizeof(uv_req_t));
ASSERT(req != NULL); ASSERT(req != NULL);
uv_req_init(req, (uv_handle_t*)tcp, shutdown_cb); uv_req_init(req, (uv_handle_t*)tcp, (void *(*)(void *))shutdown_cb);
r = uv_shutdown(req); r = uv_shutdown(req);
ASSERT(r == 0); ASSERT(r == 0);
@ -160,7 +160,7 @@ static void connect_cb(uv_req_t* req, int status) {
req = (uv_req_t*)malloc(sizeof *req); req = (uv_req_t*)malloc(sizeof *req);
ASSERT(req != NULL); ASSERT(req != NULL);
uv_req_init(req, (uv_handle_t*)tcp, read_cb); uv_req_init(req, (uv_handle_t*)tcp, (void *(*)(void *))read_cb);
r = uv_read_start((uv_stream_t*)tcp, alloc_cb, read_cb); r = uv_read_start((uv_stream_t*)tcp, alloc_cb, read_cb);
ASSERT(r == 0); ASSERT(r == 0);
} }
@ -184,7 +184,7 @@ TEST_IMPL(tcp_writealot) {
r = uv_tcp_init(client); r = uv_tcp_init(client);
ASSERT(r == 0); ASSERT(r == 0);
uv_req_init(connect_req, (uv_handle_t*)client, connect_cb); uv_req_init(connect_req, (uv_handle_t*)client, (void *(*)(void *))connect_cb);
r = uv_tcp_connect(connect_req, addr); r = uv_tcp_connect(connect_req, addr);
ASSERT(r == 0); ASSERT(r == 0);