summaryrefslogtreecommitdiffstats
path: root/server/dispatcher.c
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2012-03-13 15:16:13 +0000
committerDaniel P. Berrange <berrange@redhat.com>2012-04-25 09:40:18 +0100
commite139521928bb1b390aa4a99a69f63ae3484877cc (patch)
tree6e98343dabd53a04c2655adcfaedd205ade4bb3d /server/dispatcher.c
parent1871295c0790dc92f1b2c3d74b28cf8dd813959b (diff)
downloadspice-e139521928bb1b390aa4a99a69f63ae3484877cc.tar.gz
spice-e139521928bb1b390aa4a99a69f63ae3484877cc.tar.xz
spice-e139521928bb1b390aa4a99a69f63ae3484877cc.zip
Don't do arithmetic on void * type, use uint8_t instead
Arithmetic on void * types is non-portable & trivially avoided * server/dispatcher.c: Use uint8_t for arithmetic Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'server/dispatcher.c')
-rw-r--r--server/dispatcher.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/server/dispatcher.c b/server/dispatcher.c
index cc20f89d..298f5f90 100644
--- a/server/dispatcher.c
+++ b/server/dispatcher.c
@@ -49,7 +49,7 @@
* if 0 poll first, return immediately if no bytes available, otherwise
* read size in blocking mode.
*/
-static int read_safe(int fd, void *buf, size_t size, int block)
+static int read_safe(int fd, uint8_t *buf, size_t size, int block)
{
int read_size = 0;
int ret;
@@ -94,7 +94,7 @@ static int read_safe(int fd, void *buf, size_t size, int block)
* write_safe
* @return -1 for error, otherwise number of written bytes. may be zero.
*/
-static int write_safe(int fd, void *buf, size_t size)
+static int write_safe(int fd, uint8_t *buf, size_t size)
{
int written_size = 0;
int ret;
@@ -121,7 +121,7 @@ static int dispatcher_handle_single_read(Dispatcher *dispatcher)
uint8_t *payload = dispatcher->payload;
uint32_t ack = ACK;
- if ((ret = read_safe(dispatcher->recv_fd, &type, sizeof(type), 0)) == -1) {
+ if ((ret = read_safe(dispatcher->recv_fd, (uint8_t*)&type, sizeof(type), 0)) == -1) {
spice_printerr("error reading from dispatcher: %d", errno);
return 0;
}
@@ -142,7 +142,7 @@ static int dispatcher_handle_single_read(Dispatcher *dispatcher)
}
if (msg->ack == DISPATCHER_ACK) {
if (write_safe(dispatcher->recv_fd,
- &ack, sizeof(ack)) == -1) {
+ (uint8_t*)&ack, sizeof(ack)) == -1) {
spice_printerr("error writing ack for message %d", type);
/* TODO: close socketpair? */
}
@@ -174,7 +174,7 @@ void dispatcher_send_message(Dispatcher *dispatcher, uint32_t message_type,
assert(dispatcher->messages[message_type].handler);
msg = &dispatcher->messages[message_type];
pthread_mutex_lock(&dispatcher->lock);
- if (write_safe(send_fd, &message_type, sizeof(message_type)) == -1) {
+ if (write_safe(send_fd, (uint8_t*)&message_type, sizeof(message_type)) == -1) {
spice_printerr("error: failed to send message type for message %d",
message_type);
goto unlock;
@@ -185,7 +185,7 @@ void dispatcher_send_message(Dispatcher *dispatcher, uint32_t message_type,
goto unlock;
}
if (msg->ack == DISPATCHER_ACK) {
- if (read_safe(send_fd, &ack, sizeof(ack), 1) == -1) {
+ if (read_safe(send_fd, (uint8_t*)&ack, sizeof(ack), 1) == -1) {
spice_printerr("error: failed to read ack");
} else if (ack != ACK) {
spice_printerr("error: got wrong ack value in dispatcher "