aboutsummaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2012-01-20 11:43:28 -0700
committerEric Blake <eblake@redhat.com>2012-01-20 16:05:51 -0700
commit7b4e5693c13d5de1f0e14abda029e3148cbbe12f (patch)
treebdda5f04b656230e56d9290e8dd58eb6c9020aab /python
parenterror: drop old-style error reporting (diff)
downloadlibvirt-7b4e5693c13d5de1f0e14abda029e3148cbbe12f.tar.gz
libvirt-7b4e5693c13d5de1f0e14abda029e3148cbbe12f.tar.bz2
libvirt-7b4e5693c13d5de1f0e14abda029e3148cbbe12f.zip
API: make declaration of _LAST enum values conditional
Although this is a public API break, it only affects users that were compiling against *_LAST values, and can be trivially worked around without impacting compilation against older headers, by the user defining VIR_ENUM_SENTINELS before using libvirt.h. It is not an ABI break, since enum values do not appear as .so entry points. Meanwhile, it prevents users from using non-stable enum values without explicitly acknowledging the risk of doing so. See this list discussion: https://www.redhat.com/archives/libvir-list/2012-January/msg00804.html * include/libvirt/libvirt.h.in: Hide all sentinels behind LIBVIRT_ENUM_SENTINELS, and add missing sentinels. * src/internal.h (VIR_DEPRECATED): Allow inclusion after libvirt.h. (LIBVIRT_ENUM_SENTINELS): Expose sentinels internally. * daemon/libvirtd.h: Use the sentinels. * src/remote/remote_protocol.x (includes): Don't expose sentinels. * python/generator.py (enum): Likewise. * tests/cputest.c (cpuTestCompResStr): Silence compiler warning. * tools/virsh.c (vshDomainStateReasonToString) (vshDomainControlStateToString): Likewise.
Diffstat (limited to 'python')
-rwxr-xr-xpython/generator.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/python/generator.py b/python/generator.py
index 6fee3a4c4..de635dc92 100755
--- a/python/generator.py
+++ b/python/generator.py
@@ -205,7 +205,8 @@ def enum(type, name, value):
value = 1
elif value == 'VIR_DOMAIN_AFFECT_CONFIG':
value = 2
- enums[type][name] = value
+ if name[-5:] != '_LAST':
+ enums[type][name] = value
def qemu_enum(type, name, value):
if not qemu_enums.has_key(type):