提交 1aeacfd5 编写于 作者: E Eric Blake

build: avoid type-punning in vbox

Commit 78345c68 makes at least gcc 4.1.2 on RHEL 5 complain:

cc1: warnings being treated as errors
In file included from vbox/vbox_V4_0.c:13:
vbox/vbox_tmpl.c: In function 'vboxDomainUndefineFlags':
vbox/vbox_tmpl.c:5298: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

* src/vbox/vbox_tmpl.c (vboxDomainUndefineFlags): Use union to
avoid compiler warning.
上级 c9cd419c
......@@ -5294,8 +5294,11 @@ vboxDomainUndefineFlags(virDomainPtr dom, unsigned int flags)
((IMachine_Delete)machine->vtbl->Delete)(machine, &safeArray, &progress);
# else
vboxArray array = VBOX_ARRAY_INITIALIZER;
machine->vtbl->Delete(machine, 0, (IMedium**)&array, &progress);
union {
vboxArray array;
IMedium *medium;
} u = { .array = VBOX_ARRAY_INITIALIZER };
machine->vtbl->Delete(machine, 0, &u.medium, &progress);
# endif
if (progress != NULL) {
progress->vtbl->WaitForCompletion(progress, -1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册