
On 5/19/20 3:01 PM, Daniel P. Berrangé wrote:
Currently the value for an enum is only emitted if it is a plain string. If the enum is an integer or hex value, or a complex code block, it is omitted from the API build. This fixes that by emitting the raw value if no string value is present.
With this change:
<macro name='LIBVIR_CHECK_VERSION' file='libvirt-common' params='major,minor,micro'> <macro name='LIBVIR_VERSION_NUMBER' file='libvirt-common'> <macro name='VIR_COPY_CPUMAP' file='libvirt-domain' params='cpumaps,maplen,vcpu,cpumap'> ...snip...
<macro name='LIBVIR_CHECK_VERSION' file='libvirt-common' params='major,minor,micro' raw='((major) * 1000000 + (minor) * 1000 + (micro) <= LIBVIR_VERSION_NUMBER)'> <macro name='LIBVIR_VERSION_NUMBER' file='libvirt-common' raw='6004000'> <macro name='VIR_COPY_CPUMAP' file='libvirt-domain' params='cpumaps,maplen,vcpu,cpumap' raw='memcpy(cpumap, VIR_GET_CPUMAP(cpumaps, maplen, vcpu), maplen)'> ...snip...
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- scripts/apibuild.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
I'm seeing some weird errors after I apply this one, like: make[2]: Entering directory '/home/zippy/work/libvirt/libvirt.git/_build/docs' /usr/bin/xsltproc --nonet -o ./ \ --stringparam builddir '/home/zippy/work/libvirt/libvirt.git/_build' \ --stringparam timestamp "Thu May 21 12:42:53 UTC 2020" \ ../../docs/newapi.xsl libvirt-api.xml libvirt-api.xml:2092: parser error : Unescaped '<' not allowed in attributes values ' params='major,minor,micro' raw='((major) * 1000000 + (minor) * 1000 + (micro) ^ libvirt-api.xml:2092: parser error : attributes construct error ' params='major,minor,micro' raw='((major) * 1000000 + (minor) * 1000 + (micro) ^ libvirt-api.xml:2092: parser error : Couldn't find end of Start Tag macro line 2092 ' params='major,minor,micro' raw='((major) * 1000000 + (minor) * 1000 + (micro) ^ libvirt-api.xml:2092: parser error : StartTag: invalid element name params='major,minor,micro' raw='((major) * 1000000 + (minor) * 1000 + (micro) < ^ libvirt-api.xml:2097: parser error : Opening and ending tag mismatch: symbols line 2091 and macro </macro> ^ libvirt-api.xml:2146: parser error : xmlParseEntityRef: no name _CPU_USED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) / 8] & ^ libvirt-api.xml:2146: parser error : Unescaped '<' not allowed in attributes values _USED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) / 8] & (1 ^ libvirt-api.xml:2146: parser error : attributes construct error _USED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) / 8] & (1 ^ libvirt-api.xml:2146: parser error : Couldn't find end of Start Tag macro line 2146 _USED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) / 8] & (1 ^ libvirt-api.xml:2146: parser error : StartTag: invalid element name USED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) / 8] & (1 < ^ libvirt-api.xml:2146: parser error : StartTag: invalid element name SED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) / 8] & (1 << ^ libvirt-api.xml:2150: parser error : Opening and ending tag mismatch: api line 2 and macro </macro> ^ libvirt-api.xml:2151: parser error : Extra content at the end of the document <macro name='VIR_DOMAIN_BANDWIDTH_IN_AVERAGE' file='libvirt-domain' string=' ^ unable to parse libvirt-api.xml Michal