[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 1/2] Fix keymap used to talk with QEMU



On 08/26/2011 04:41 AM, Daniel P. Berrange wrote:
+extern int (*codeOffsetVerify(void)) [verify_true (ARRAY_CARDINALITY(codeOffset) == VIR_KEYCODE_SET_LAST)]; \

Why the trailing backslash?

Also, open-coding this verify is dangerous; gcc warnings have
changed over time, rendering certain verification styles that were
once safe into something that trips up -Werror.  It is safer (and
shorter!) to let gnulib worry about gcc quirks, by changing this
line to just be:

verify(ARRAY_CARDINALITY(codeOffset) == VIR_KEYCODE_SET_LAST);

Yeah it was a stupid cut+paste from src/util/util.h where we had to
open-code it for the enums, because the gnulib macro resulted in
clashing symbols when used more than one.

Wow. That line dates from 2008, prior to my gnulib fixes to the verify module to make multiple verify() in one file work without triggering gcc complaints (by use of gcc's __COUNTER__ preprocessor magic). Patch coming up soon.

--
Eric Blake   eblake redhat com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]