diff --git a/mongoose.c b/mongoose.c index dd894b0370883393bd3938df6eab78fda664e127..b1006b04311ad3c6253d1c01981871c0dd8f7cdf 100644 --- a/mongoose.c +++ b/mongoose.c @@ -889,7 +889,7 @@ int ns_server_poll(struct ns_server *server, int milli) { if (server->ctl[1] != INVALID_SOCKET && FD_ISSET(server->ctl[1], &read_set)) { struct ctl_msg ctl_msg; - int len = recv(server->ctl[1], (void *) &ctl_msg, sizeof(ctl_msg), 0); + int len = recv(server->ctl[1], (char *) &ctl_msg, sizeof(ctl_msg), 0); send(server->ctl[1], ctl_msg.message, 1, 0); if (len >= (int) sizeof(ctl_msg.callback) && ctl_msg.callback != NULL) { ns_iterate(server, ctl_msg.callback, ctl_msg.message); @@ -1011,9 +1011,9 @@ void ns_server_wakeup_ex(struct ns_server *server, ns_callback_t cb, len < sizeof(ctl_msg.message)) { ctl_msg.callback = cb; memcpy(ctl_msg.message, data, len); - send(server->ctl[0], (void *) &ctl_msg, + send(server->ctl[0], (char *) &ctl_msg, offsetof(struct ctl_msg, message) + len, 0); - recv(server->ctl[0], (void *) &len, 1, 0); + recv(server->ctl[0], (char *) &len, 1, 0); } }