[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v2 10/12] qapi: Avoid use of 'data' member of qa
From: |
Eric Blake |
Subject: |
[Qemu-devel] [RFC PATCH v2 10/12] qapi: Avoid use of 'data' member of qapi unions |
Date: |
Thu, 6 Aug 2015 21:52:39 -0600 |
qapi code generators currently create a 'void *data' member as
part of the anonymous union embedded in the C struct corresponding
to a qapi union. However, directly assigning to this member of
the union feels a bit fishy, when we can directly use the rest
of the struct instead.
Signed-off-by: Eric Blake <address@hidden>
---
blockdev.c | 22 ++++++++++++----------
ui/input.c | 2 +-
2 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index 8f16f03..4ec9222 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -1046,14 +1046,11 @@ void hmp_commit(Monitor *mon, const QDict *qdict)
}
}
-static void blockdev_do_action(int type, void *data, Error **errp)
+static void blockdev_do_action(TransactionAction *action, Error **errp)
{
- TransactionAction action;
TransactionActionList list;
- action.type = type;
- action.data = data;
- list.value = &action;
+ list.value = action;
list.next = NULL;
qmp_transaction(&list, errp);
}
@@ -1079,8 +1076,11 @@ void qmp_blockdev_snapshot_sync(bool has_device, const
char *device,
.has_mode = has_mode,
.mode = mode,
};
- blockdev_do_action(TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_SYNC,
- &snapshot, errp);
+ TransactionAction action = {
+ .type = TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_SYNC,
+ .blockdev_snapshot_sync = &snapshot,
+ };
+ blockdev_do_action(&action, errp);
}
void qmp_blockdev_snapshot_internal_sync(const char *device,
@@ -1091,9 +1091,11 @@ void qmp_blockdev_snapshot_internal_sync(const char
*device,
.device = (char *) device,
.name = (char *) name
};
-
- blockdev_do_action(TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_INTERNAL_SYNC,
- &snapshot, errp);
+ TransactionAction action = {
+ .type = TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_INTERNAL_SYNC,
+ .blockdev_snapshot_internal_sync = &snapshot,
+ };
+ blockdev_do_action(&action, errp);
}
SnapshotInfo *qmp_blockdev_snapshot_delete_internal_sync(const char *device,
diff --git a/ui/input.c b/ui/input.c
index fd86571..edd237d 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -452,7 +452,7 @@ InputEvent *qemu_input_event_new_move(InputEventKind kind,
InputMoveEvent *move = g_new0(InputMoveEvent, 1);
evt->type = kind;
- evt->data = move;
+ evt->rel = move; /* also would work as evt->abs */
move->axis = axis;
move->value = value;
return evt;
--
2.4.3
- [Qemu-devel] [RFC PATCH v2 04/12] qapi-visit: Remove redundant functions for flat union base, (continued)
- [Qemu-devel] [RFC PATCH v2 04/12] qapi-visit: Remove redundant functions for flat union base, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 02/12] vnc: hoist allocation of VncBasicInfo to callers, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 05/12] qapi: Test use of 'number' within alternates, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 07/12] qapi: Fix alternates that accept 'number' but not 'int', Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 03/12] qapi: Unbox base members, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 08/12] qapi: Add tests for empty unions, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 06/12] qapi: Simplify visiting of alternate types, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 11/12] qapi: Forbid empty unions and useless alternates, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 12/12] qapi: Drop useless 'data' member of unions, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 09/12] qapi: Rework deallocation of partial struct, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 10/12] qapi: Avoid use of 'data' member of qapi unions,
Eric Blake <=
- [Qemu-devel] [RFC PATCH v2 01/12] qapi: use 'type' in generated C code to match QMP union wire form, Eric Blake, 2015/08/06
- [Qemu-devel] [RFC PATCH v2 13/12] qapi: Remove dead visitor code, Eric Blake, 2015/08/07
- [Qemu-devel] [RFC PATCH v2 14/12] qapi: Document visitor interfaces, Eric Blake, 2015/08/07