Updated wslay

pull/14/head
Tatsuhiro Tsujikawa 2012-03-23 23:43:16 +09:00
parent 4c4e1dcf9b
commit 16d67e9b32
16 changed files with 124 additions and 139 deletions

View File

@ -31,6 +31,10 @@ AC_SUBST(LT_CURRENT, 0)
AC_SUBST(LT_REVISION, 0) AC_SUBST(LT_REVISION, 0)
AC_SUBST(LT_AGE, 0) AC_SUBST(LT_AGE, 0)
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE() AM_INIT_AUTOMAKE()
@ -51,6 +55,13 @@ AC_CHECK_LIB([cunit], [CU_initialize_registry],
[have_cunit=yes], [have_cunit=no]) [have_cunit=yes], [have_cunit=no])
AM_CONDITIONAL([HAVE_CUNIT], [ test "x${have_cunit}" = "xyes" ]) AM_CONDITIONAL([HAVE_CUNIT], [ test "x${have_cunit}" = "xyes" ])
case "$target" in
*mingw*)
# Required for ntoh*/hton* functions.
LIBS="-lws2_32 $LIBS"
;;
esac
# Checks for header files. # Checks for header files.
AC_CHECK_HEADERS([ \ AC_CHECK_HEADERS([ \
arpa/inet.h \ arpa/inet.h \
@ -62,6 +73,13 @@ AC_CHECK_HEADERS([ \
unistd.h \ unistd.h \
]) ])
# Need winsock2.h for ntoh*/hton* functions.
case "$target" in
*mingw*)
AC_CHECK_HEADERS([winsock2.h])
;;
esac
# Checks for typedefs, structures, and compiler characteristics. # Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T AC_TYPE_SSIZE_T
@ -73,7 +91,9 @@ AC_CHECK_TYPES([ptrdiff_t])
AC_C_BIGENDIAN AC_C_BIGENDIAN
# Checks for library functions. # Checks for library functions.
AC_FUNC_MALLOC if test "x$cross_compiling" != "xyes"; then
AC_FUNC_MALLOC
fi
AC_CHECK_FUNCS([ \ AC_CHECK_FUNCS([ \
memmove \ memmove \
memset \ memset \

View File

@ -23,7 +23,7 @@
SUBDIRS = includes SUBDIRS = includes
AM_CFLAGS = -Wall AM_CFLAGS = -Wall
AM_CPPFLAGS = -I$(srcdir)/includes -I$(builddir)/includes AM_CPPFLAGS = @DEFS@ -I$(srcdir)/includes -I$(builddir)/includes
pkgconfigdir = $(libdir)/pkgconfig pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libwslay.pc pkgconfig_DATA = libwslay.pc

View File

@ -507,12 +507,12 @@ static void wslay_event_call_on_frame_recv_chunk_callback
(wslay_event_context_ptr ctx, const struct wslay_frame_iocb *iocb) (wslay_event_context_ptr ctx, const struct wslay_frame_iocb *iocb)
{ {
if(ctx->callbacks.on_frame_recv_chunk_callback) { if(ctx->callbacks.on_frame_recv_chunk_callback) {
struct wslay_event_on_frame_recv_chunk_arg arg = { struct wslay_event_on_frame_recv_chunk_arg arg;
iocb->data, iocb->data_length arg.data = iocb->data;
}; arg.data_length = iocb->data_length;
ctx->callbacks.on_frame_recv_chunk_callback(ctx, &arg, ctx->user_data); ctx->callbacks.on_frame_recv_chunk_callback(ctx, &arg, ctx->user_data);
} }
}; }
static void wslay_event_call_on_frame_recv_end_callback static void wslay_event_call_on_frame_recv_end_callback
(wslay_event_context_ptr ctx) (wslay_event_context_ptr ctx)
@ -697,9 +697,10 @@ int wslay_event_recv(wslay_event_context_ptr ctx)
return r; return r;
} }
} else if(ctx->imsg->opcode == WSLAY_PING) { } else if(ctx->imsg->opcode == WSLAY_PING) {
struct wslay_event_msg arg = { struct wslay_event_msg arg;
WSLAY_PONG, msg, ctx->imsg->msg_length arg.opcode = WSLAY_PONG;
}; arg.msg = msg;
arg.msg_length = ctx->imsg->msg_length;
if((r = wslay_event_queue_msg(ctx, &arg)) && if((r = wslay_event_queue_msg(ctx, &arg)) &&
r != WSLAY_ERR_NO_MORE_MSG) { r != WSLAY_ERR_NO_MORE_MSG) {
ctx->read_enabled = 0; ctx->read_enabled = 0;

View File

@ -73,7 +73,7 @@ struct wslay_event_frame_user_data {
enum wslay_event_close_status { enum wslay_event_close_status {
WSLAY_CLOSE_RECEIVED = 1 << 0, WSLAY_CLOSE_RECEIVED = 1 << 0,
WSLAY_CLOSE_QUEUED = 1 << 1, WSLAY_CLOSE_QUEUED = 1 << 1,
WSLAY_CLOSE_SENT = 1 << 2, WSLAY_CLOSE_SENT = 1 << 2
}; };
enum wslay_event_config { enum wslay_event_config {

View File

@ -26,9 +26,6 @@
#include <stddef.h> #include <stddef.h>
#include <string.h> #include <string.h>
#ifdef HAVE_ARPA_INET_H
# include <arpa/inet.h>
#endif // HAVE_ARPA_INET_H
#include <assert.h> #include <assert.h>
#include "wslay_net.h" #include "wslay_net.h"
@ -142,17 +139,18 @@ ssize_t wslay_frame_send(wslay_frame_context_ptr ctx,
const uint8_t *datamark = iocb->data, const uint8_t *datamark = iocb->data,
*datalimit = iocb->data+iocb->data_length; *datalimit = iocb->data+iocb->data_length;
while(datamark < datalimit) { while(datamark < datalimit) {
size_t datalen = datalimit - datamark;
const uint8_t *writelimit = datamark+ const uint8_t *writelimit = datamark+
wslay_min(sizeof(temp), datalimit-datamark); wslay_min(sizeof(temp), datalen);
size_t writelen = writelimit-datamark; size_t writelen = writelimit-datamark;
ssize_t r; ssize_t r;
int i; size_t i;
for(i = 0; i < writelen; ++i) { for(i = 0; i < writelen; ++i) {
temp[i] = datamark[i]^ctx->omaskkey[(ctx->opayloadoff+i)%4]; temp[i] = datamark[i]^ctx->omaskkey[(ctx->opayloadoff+i)%4];
} }
r = ctx->callbacks.send_callback(temp, writelen, 0, ctx->user_data); r = ctx->callbacks.send_callback(temp, writelen, 0, ctx->user_data);
if(r > 0) { if(r > 0) {
if(r > writelen) { if((size_t)r > writelen) {
return WSLAY_ERR_INVALID_CALLBACK; return WSLAY_ERR_INVALID_CALLBACK;
} else { } else {
datamark += r; datamark += r;
@ -172,7 +170,7 @@ ssize_t wslay_frame_send(wslay_frame_context_ptr ctx,
r = ctx->callbacks.send_callback(iocb->data, iocb->data_length, 0, r = ctx->callbacks.send_callback(iocb->data, iocb->data_length, 0,
ctx->user_data); ctx->user_data);
if(r > 0) { if(r > 0) {
if(r > iocb->data_length) { if((size_t)r > iocb->data_length) {
return WSLAY_ERR_INVALID_CALLBACK; return WSLAY_ERR_INVALID_CALLBACK;
} else { } else {
ctx->opayloadoff += r; ctx->opayloadoff += r;
@ -216,7 +214,7 @@ static ssize_t wslay_recv(wslay_frame_context_ptr ctx)
return r; return r;
} }
#define WSLAY_AVAIL_IBUF(ctx) (ctx->ibuflimit-ctx->ibufmark) #define WSLAY_AVAIL_IBUF(ctx) ((size_t)(ctx->ibuflimit - ctx->ibufmark))
ssize_t wslay_frame_recv(wslay_frame_context_ptr ctx, ssize_t wslay_frame_recv(wslay_frame_context_ptr ctx,
struct wslay_frame_iocb *iocb) struct wslay_frame_iocb *iocb)

View File

@ -26,37 +26,11 @@
#ifndef WORDS_BIGENDIAN #ifndef WORDS_BIGENDIAN
static uint16_t byteswap16(uint16_t x) uint64_t wslay_byteswap64(uint64_t x)
{ {
return ((x & 0xffu) << 8) | (x >> 8);; uint64_t u = ntohl(x & 0xffffffffllu);
} uint64_t l = ntohl(x >> 32);
#ifdef HAVE_NTOHL
# define byteswap32(x) ntohl(x)
#else /* !HAVE_NTOHL */
static uint32_t byteswap32(uint32_t x)
{
uint32_t u = byteswap16(x & 0xffffu);
uint32_t l = byteswap16(x >> 16);
return (u << 16) | l;
}
#endif /* !HAVE_NTOHL */
static uint64_t byteswap64(uint64_t x)
{
uint64_t u = byteswap32(x & 0xffffffffllu);
uint64_t l = byteswap32(x >> 32);
return (u << 32) | l; return (u << 32) | l;
} }
uint16_t wslay_byteswap16(uint16_t x)
{
return byteswap16(x);
}
uint64_t wslay_byteswap64(uint64_t x)
{
return byteswap64(x);
}
#endif /* !WORDS_BIGENDIAN */ #endif /* !WORDS_BIGENDIAN */

View File

@ -37,25 +37,16 @@
#ifdef HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
# include <netinet/in.h> # include <netinet/in.h>
#endif /* HAVE_NETINET_IN_H */ #endif /* HAVE_NETINET_IN_H */
/* For Mingw build */
#ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
#endif /* HAVE_WINSOCK2_H */
#ifdef WORDS_BIGENDIAN #ifdef WORDS_BIGENDIAN
# ifndef HAVE_HTONS
# define htons(x) (x)
# endif /* !HAVE_HTONS */
# ifndef HAVE_NTOHS
# define ntohs(x) (x)
# endif /* !HAVE_NTOHS */
# define ntoh64(x) (x) # define ntoh64(x) (x)
# define hton64(x) (x) # define hton64(x) (x)
#else /* !WORDS_BIGENDIAN */ #else /* !WORDS_BIGENDIAN */
uint16_t wslay_byteswap16(uint16_t x);
uint64_t wslay_byteswap64(uint64_t x); uint64_t wslay_byteswap64(uint64_t x);
# ifndef HAVE_HTONS
# define htons(x) wslay_byteswap16(x)
# endif /* !HAVE_HTONS */
# ifndef HAVE_NTOHS
# define ntohs(x) wslay_byteswap16(x)
# endif /* !HAVE_NTOHS */
# define ntoh64(x) wslay_byteswap64(x) # define ntoh64(x) wslay_byteswap64(x)
# define hton64(x) wslay_byteswap64(x) # define hton64(x) wslay_byteswap64(x)
#endif /* !WORDS_BIGENDIAN */ #endif /* !WORDS_BIGENDIAN */

View File

@ -27,7 +27,7 @@
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
struct wslay_queue* wslay_queue_new() struct wslay_queue* wslay_queue_new(void)
{ {
struct wslay_queue *queue = (struct wslay_queue*)malloc struct wslay_queue *queue = (struct wslay_queue*)malloc
(sizeof(struct wslay_queue)); (sizeof(struct wslay_queue));
@ -42,14 +42,15 @@ void wslay_queue_free(struct wslay_queue *queue)
{ {
if(!queue) { if(!queue) {
return; return;
} else {
struct wslay_queue_cell *p = queue->top;
while(p) {
struct wslay_queue_cell *next = p->next;
free(p);
p = next;
}
free(queue);
} }
struct wslay_queue_cell *p = queue->top;
while(p) {
struct wslay_queue_cell *next = p->next;
free(p);
p = next;
}
free(queue);
} }
int wslay_queue_push(struct wslay_queue *queue, void *data) int wslay_queue_push(struct wslay_queue *queue, void *data)

View File

@ -41,7 +41,7 @@ struct wslay_queue {
struct wslay_queue_cell *tail; struct wslay_queue_cell *tail;
}; };
struct wslay_queue* wslay_queue_new(); struct wslay_queue* wslay_queue_new(void);
void wslay_queue_free(struct wslay_queue *queue); void wslay_queue_free(struct wslay_queue *queue);
int wslay_queue_push(struct wslay_queue *queue, void *data); int wslay_queue_push(struct wslay_queue *queue, void *data);
int wslay_queue_push_front(struct wslay_queue *queue, void *data); int wslay_queue_push_front(struct wslay_queue *queue, void *data);

View File

@ -30,18 +30,18 @@
#include "wslay_event_test.h" #include "wslay_event_test.h"
#include "wslay_queue_test.h" #include "wslay_queue_test.h"
int init_suite1(void) static int init_suite1(void)
{ {
return 0; return 0;
} }
int clean_suite1(void) static int clean_suite1(void)
{ {
return 0; return 0;
} }
int main() int main(void)
{ {
CU_pSuite pSuite = NULL; CU_pSuite pSuite = NULL;

View File

@ -133,7 +133,7 @@ static ssize_t fail_send_callback(wslay_event_context_ptr ctx,
} }
void test_wslay_event_send_fragmented_msg() void test_wslay_event_send_fragmented_msg(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -166,7 +166,7 @@ void test_wslay_event_send_fragmented_msg()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_send_fragmented_msg_with_ctrl() void test_wslay_event_send_fragmented_msg_with_ctrl(void)
{ {
int i; int i;
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
@ -214,7 +214,7 @@ void test_wslay_event_send_fragmented_msg_with_ctrl()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_send_ctrl_msg_first() void test_wslay_event_send_ctrl_msg_first(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -246,7 +246,7 @@ void test_wslay_event_send_ctrl_msg_first()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_queue_close() void test_wslay_event_queue_close(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -270,7 +270,7 @@ void test_wslay_event_queue_close()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_queue_close_without_code() void test_wslay_event_queue_close_without_code(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -284,7 +284,7 @@ void test_wslay_event_queue_close_without_code()
ud.acc = &acc; ud.acc = &acc;
wslay_event_context_server_init(&ctx, &callbacks, &ud); wslay_event_context_server_init(&ctx, &callbacks, &ud);
CU_ASSERT(0 == wslay_event_queue_msg(ctx, &ping)); CU_ASSERT(0 == wslay_event_queue_msg(ctx, &ping));
// See that ping is not sent because close frame is queued /* See that ping is not sent because close frame is queued */
CU_ASSERT(0 == wslay_event_queue_close(ctx, 0, NULL, 0)); CU_ASSERT(0 == wslay_event_queue_close(ctx, 0, NULL, 0));
CU_ASSERT(0 == wslay_event_send(ctx)); CU_ASSERT(0 == wslay_event_send(ctx));
CU_ASSERT(2 == acc.length); CU_ASSERT(2 == acc.length);
@ -295,7 +295,7 @@ void test_wslay_event_queue_close_without_code()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_recv_close_without_code() void test_wslay_event_recv_close_without_code(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -314,7 +314,7 @@ void test_wslay_event_recv_close_without_code()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_reply_close() void test_wslay_event_reply_close(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -360,7 +360,7 @@ void test_wslay_event_reply_close()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_no_more_msg() void test_wslay_event_no_more_msg(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -371,7 +371,7 @@ void test_wslay_event_no_more_msg()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_callback_failure() void test_wslay_event_callback_failure(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -398,7 +398,7 @@ static void no_buffering_callback(wslay_event_context_ptr ctx,
} }
} }
void test_wslay_event_no_buffering() void test_wslay_event_no_buffering(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -422,7 +422,7 @@ void test_wslay_event_no_buffering()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_frame_too_big() void test_wslay_event_frame_too_big(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;
@ -455,7 +455,7 @@ void test_wslay_event_frame_too_big()
wslay_event_context_free(ctx); wslay_event_context_free(ctx);
} }
void test_wslay_event_message_too_big() void test_wslay_event_message_too_big(void)
{ {
wslay_event_context_ptr ctx; wslay_event_context_ptr ctx;
struct wslay_event_callbacks callbacks; struct wslay_event_callbacks callbacks;

View File

@ -25,17 +25,17 @@
#ifndef WSLAY_EVENT_TEST_H #ifndef WSLAY_EVENT_TEST_H
#define WSLAY_EVENT_TEST_H #define WSLAY_EVENT_TEST_H
void test_wslay_event_send_fragmented_msg(); void test_wslay_event_send_fragmented_msg(void);
void test_wslay_event_send_fragmented_msg_with_ctrl(); void test_wslay_event_send_fragmented_msg_with_ctrl(void);
void test_wslay_event_send_ctrl_msg_first(); void test_wslay_event_send_ctrl_msg_first(void);
void test_wslay_event_queue_close(); void test_wslay_event_queue_close(void);
void test_wslay_event_queue_close_without_code(); void test_wslay_event_queue_close_without_code(void);
void test_wslay_event_recv_close_without_code(); void test_wslay_event_recv_close_without_code(void);
void test_wslay_event_reply_close(); void test_wslay_event_reply_close(void);
void test_wslay_event_no_more_msg(); void test_wslay_event_no_more_msg(void);
void test_wslay_event_callback_failure(); void test_wslay_event_callback_failure(void);
void test_wslay_event_no_buffering(); void test_wslay_event_no_buffering(void);
void test_wslay_event_frame_too_big(); void test_wslay_event_frame_too_big(void);
void test_wslay_event_message_too_big(); void test_wslay_event_message_too_big(void);
#endif // WSLAY_EVENT_TEST_H #endif /* WSLAY_EVENT_TEST_H */

View File

@ -30,7 +30,7 @@
#include "wslay_frame.h" #include "wslay_frame.h"
void test_wslay_frame_context_init() void test_wslay_frame_context_init(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks; struct wslay_frame_callbacks callbacks;
@ -88,7 +88,7 @@ static ssize_t scripted_send_callback(const uint8_t* data, size_t len,
return wlen; return wlen;
} }
void test_wslay_frame_recv() void test_wslay_frame_recv(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { NULL, struct wslay_frame_callbacks callbacks = { NULL,
@ -114,7 +114,7 @@ void test_wslay_frame_recv()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_recv_1byte() void test_wslay_frame_recv_1byte(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { NULL, struct wslay_frame_callbacks callbacks = { NULL,
@ -122,7 +122,7 @@ void test_wslay_frame_recv_1byte()
NULL }; NULL };
struct scripted_data_feed df; struct scripted_data_feed df;
struct wslay_frame_iocb iocb; struct wslay_frame_iocb iocb;
int i; size_t i;
/* Masked text frame containing "Hello" */ /* Masked text frame containing "Hello" */
uint8_t msg[] = { 0x81u, 0x85u, 0x37u, 0xfau, 0x21u, 0x3du, 0x7fu, 0x9fu, uint8_t msg[] = { 0x81u, 0x85u, 0x37u, 0xfau, 0x21u, 0x3du, 0x7fu, 0x9fu,
0x4du, 0x51u, 0x58u }; 0x4du, 0x51u, 0x58u };
@ -150,7 +150,7 @@ void test_wslay_frame_recv_1byte()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_recv_fragmented() void test_wslay_frame_recv_fragmented(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { NULL, struct wslay_frame_callbacks callbacks = { NULL,
@ -187,7 +187,7 @@ void test_wslay_frame_recv_fragmented()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_recv_interleaved_ctrl_frame() void test_wslay_frame_recv_interleaved_ctrl_frame(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { NULL, struct wslay_frame_callbacks callbacks = { NULL,
@ -236,7 +236,7 @@ void test_wslay_frame_recv_interleaved_ctrl_frame()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_recv_zero_payloadlen() void test_wslay_frame_recv_zero_payloadlen(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { NULL, struct wslay_frame_callbacks callbacks = { NULL,
@ -261,7 +261,7 @@ void test_wslay_frame_recv_zero_payloadlen()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_recv_too_large_payload() void test_wslay_frame_recv_too_large_payload(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { NULL, struct wslay_frame_callbacks callbacks = { NULL,
@ -278,7 +278,7 @@ void test_wslay_frame_recv_too_large_payload()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_recv_ctrl_frame_too_large_payload() void test_wslay_frame_recv_ctrl_frame_too_large_payload(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { NULL, struct wslay_frame_callbacks callbacks = { NULL,
@ -295,7 +295,7 @@ void test_wslay_frame_recv_ctrl_frame_too_large_payload()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_recv_minimum_ext_payload16() void test_wslay_frame_recv_minimum_ext_payload16(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { NULL, struct wslay_frame_callbacks callbacks = { NULL,
@ -312,7 +312,7 @@ void test_wslay_frame_recv_minimum_ext_payload16()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_recv_minimum_ext_payload64() void test_wslay_frame_recv_minimum_ext_payload64(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { NULL, struct wslay_frame_callbacks callbacks = { NULL,
@ -347,12 +347,12 @@ static ssize_t accumulator_send_callback(const uint8_t *buf, size_t len,
static int static_genmask_callback(uint8_t *buf, size_t len, static int static_genmask_callback(uint8_t *buf, size_t len,
void* user_data) void* user_data)
{ {
const static uint8_t makskey[] = { 0x37u, 0xfau, 0x21u, 0x3du }; static const uint8_t makskey[] = { 0x37u, 0xfau, 0x21u, 0x3du };
memcpy(buf, makskey, 4); memcpy(buf, makskey, 4);
return 0; return 0;
} }
void test_wslay_frame_send() void test_wslay_frame_send(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { accumulator_send_callback, struct wslay_frame_callbacks callbacks = { accumulator_send_callback,
@ -379,7 +379,7 @@ void test_wslay_frame_send()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_send_fragmented() void test_wslay_frame_send_fragmented(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { accumulator_send_callback, struct wslay_frame_callbacks callbacks = { accumulator_send_callback,
@ -416,7 +416,7 @@ void test_wslay_frame_send_fragmented()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_send_interleaved_ctrl_frame() void test_wslay_frame_send_interleaved_ctrl_frame(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { accumulator_send_callback, struct wslay_frame_callbacks callbacks = { accumulator_send_callback,
@ -467,7 +467,7 @@ void test_wslay_frame_send_interleaved_ctrl_frame()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_send_1byte_masked() void test_wslay_frame_send_1byte_masked(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { scripted_send_callback, struct wslay_frame_callbacks callbacks = { scripted_send_callback,
@ -479,7 +479,7 @@ void test_wslay_frame_send_1byte_masked()
0x4du, 0x51u, 0x58u }; 0x4du, 0x51u, 0x58u };
uint8_t hello[] = "Hello"; uint8_t hello[] = "Hello";
struct scripted_data_feed df; struct scripted_data_feed df;
int i; size_t i;
scripted_data_feed_init(&df, NULL, 0); scripted_data_feed_init(&df, NULL, 0);
for(i = 0; i < sizeof(msg); ++i) { for(i = 0; i < sizeof(msg); ++i) {
df.feedseq[i] = 1; df.feedseq[i] = 1;
@ -500,7 +500,7 @@ void test_wslay_frame_send_1byte_masked()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_send_zero_payloadlen() void test_wslay_frame_send_zero_payloadlen(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks = { accumulator_send_callback, struct wslay_frame_callbacks callbacks = { accumulator_send_callback,
@ -525,7 +525,7 @@ void test_wslay_frame_send_zero_payloadlen()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_send_too_large_payload() void test_wslay_frame_send_too_large_payload(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks; struct wslay_frame_callbacks callbacks;
@ -542,7 +542,7 @@ void test_wslay_frame_send_too_large_payload()
wslay_frame_context_free(ctx); wslay_frame_context_free(ctx);
} }
void test_wslay_frame_send_ctrl_frame_too_large_payload() void test_wslay_frame_send_ctrl_frame_too_large_payload(void)
{ {
wslay_frame_context_ptr ctx; wslay_frame_context_ptr ctx;
struct wslay_frame_callbacks callbacks; struct wslay_frame_callbacks callbacks;

View File

@ -25,22 +25,22 @@
#ifndef WSLAY_FRAME_TEST_H #ifndef WSLAY_FRAME_TEST_H
#define WSLAY_FRAME_TEST_H #define WSLAY_FRAME_TEST_H
void test_wslay_frame_context_init(); void test_wslay_frame_context_init(void);
void test_wslay_frame_recv(); void test_wslay_frame_recv(void);
void test_wslay_frame_recv_1byte(); void test_wslay_frame_recv_1byte(void);
void test_wslay_frame_recv_fragmented(); void test_wslay_frame_recv_fragmented(void);
void test_wslay_frame_recv_interleaved_ctrl_frame(); void test_wslay_frame_recv_interleaved_ctrl_frame(void);
void test_wslay_frame_recv_zero_payloadlen(); void test_wslay_frame_recv_zero_payloadlen(void);
void test_wslay_frame_recv_too_large_payload(); void test_wslay_frame_recv_too_large_payload(void);
void test_wslay_frame_recv_ctrl_frame_too_large_payload(); void test_wslay_frame_recv_ctrl_frame_too_large_payload(void);
void test_wslay_frame_recv_minimum_ext_payload16(); void test_wslay_frame_recv_minimum_ext_payload16(void);
void test_wslay_frame_recv_minimum_ext_payload64(); void test_wslay_frame_recv_minimum_ext_payload64(void);
void test_wslay_frame_send(); void test_wslay_frame_send(void);
void test_wslay_frame_send_fragmented(); void test_wslay_frame_send_fragmented(void);
void test_wslay_frame_send_interleaved_ctrl_frame(); void test_wslay_frame_send_interleaved_ctrl_frame(void);
void test_wslay_frame_send_1byte_masked(); void test_wslay_frame_send_1byte_masked(void);
void test_wslay_frame_send_zero_payloadlen(); void test_wslay_frame_send_zero_payloadlen(void);
void test_wslay_frame_send_too_large_payload(); void test_wslay_frame_send_too_large_payload(void);
void test_wslay_frame_send_ctrl_frame_too_large_payload(); void test_wslay_frame_send_ctrl_frame_too_large_payload(void);
#endif // WSLAY_FRAME_TEST_H #endif /* WSLAY_FRAME_TEST_H */

View File

@ -28,7 +28,7 @@
#include "wslay_queue.h" #include "wslay_queue.h"
void test_wslay_queue() void test_wslay_queue(void)
{ {
int ints[] = { 1, 2, 3, 4, 5 }; int ints[] = { 1, 2, 3, 4, 5 };
int i; int i;

View File

@ -25,6 +25,6 @@
#ifndef WSLAY_QUEUE_TEST_H #ifndef WSLAY_QUEUE_TEST_H
#define WSLAY_QUEUE_TEST_H #define WSLAY_QUEUE_TEST_H
void test_wslay_queue(); void test_wslay_queue(void);
#endif // WSLAY_QUEUE_TEST_H #endif /* WSLAY_QUEUE_TEST_H */