diff options
author | Alexander Larsson <alexl@redhat.com> | 2010-07-19 14:10:16 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2010-07-19 16:28:22 +0200 |
commit | 12b08f2c3e07cea617255bedfd97b2eedf0f180f (patch) | |
tree | 9a35ebbc31d6b61e94d3fbcd72feb70f0e9b9858 /server/red_tunnel_worker.c | |
parent | 2962bdaea056d7069303badc3d73ed9530fdbb15 (diff) | |
download | spice-12b08f2c3e07cea617255bedfd97b2eedf0f180f.tar.gz spice-12b08f2c3e07cea617255bedfd97b2eedf0f180f.tar.xz spice-12b08f2c3e07cea617255bedfd97b2eedf0f180f.zip |
codegen: Various cleanups
Remove all uses of @end in the marshaller, instead just using
the C struct array-at-end-of-struct. To make this work we also remove
all use of @end for switches (making them C unions).
We drop the zero member of the notify message so that we can avoid this
use of @end for a primitive in the marshaller (plus its useless to send
over the wire).
We change the offsets and stuff in the migration messages to real pointers.
Diffstat (limited to 'server/red_tunnel_worker.c')
-rw-r--r-- | server/red_tunnel_worker.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/server/red_tunnel_worker.c b/server/red_tunnel_worker.c index fea45460..6092a76f 100644 --- a/server/red_tunnel_worker.c +++ b/server/red_tunnel_worker.c @@ -1123,21 +1123,21 @@ static void tunnel_worker_free_print_service(TunnelWorker *worker, TunnelPrintSe } static TunnelPrintService *tunnel_worker_add_print_service(TunnelWorker *worker, - SpiceMsgcTunnelAddPrintService *redc_service) + SpiceMsgcTunnelAddGenericService *redc_service) { TunnelPrintService *service; service = (TunnelPrintService *)tunnel_worker_add_service(worker, sizeof(TunnelPrintService), - &redc_service->base); + redc_service); if (!service) { return NULL; } - if (redc_service->ip.type == SPICE_TUNNEL_IP_TYPE_IPv4) { - memcpy(service->ip, redc_service->ip.data, sizeof(SpiceTunnelIPv4)); + if (redc_service->type == SPICE_TUNNEL_IP_TYPE_IPv4) { + memcpy(service->ip, redc_service->u.ip.data, sizeof(SpiceTunnelIPv4)); } else { - red_printf("unexpected ip type=%d", redc_service->ip.type); + red_printf("unexpected ip type=%d", redc_service->type); tunnel_worker_free_print_service(worker, service); return NULL; } @@ -1154,7 +1154,6 @@ static int tunnel_channel_handle_service_add(TunnelChannel *channel, TunnelService *out_service = NULL; if (service_msg->type == SPICE_TUNNEL_SERVICE_TYPE_IPP) { out_service = &tunnel_worker_add_print_service(channel->worker, - (SpiceMsgcTunnelAddPrintService *) service_msg)->base; } else if (service_msg->type == SPICE_TUNNEL_SERVICE_TYPE_GENERIC) { out_service = tunnel_worker_add_service(channel->worker, sizeof(TunnelService), |