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:
parent
786789490e
commit
8c00b369b4
@ -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:
|
||||||
|
|||||||
@ -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 */
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -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");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user