Re: [PATCH v2 11/16] scripts/qapi: pull c_name from camel_to_upper to caller
Markus Armbruster <[email protected]> Tue, 31 Mar 2026 09:37:59 +0200
| Newsgroups | org.nongnu.qemu-rust,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
Paolo Bonzini <[email protected]> writes: > On 2/25/26 09:32, Markus Armbruster wrote: >> { 'enum': '__org.qemu_x-Enum', 'data': [ '__org.qemu_x-value' ] } >> >> This tests a downstream extension prefix __RFQDN_. >> >> As is, we generate >> >> typedef enum __org_qemu_x_Enum { >> ORG_QEMU_X_ENUM___ORG_QEMU_X_VALUE, >> ORG_QEMU_X_ENUM__MAX, >> } __org_qemu_x_Enum; >> >> Without the .lstrip('_'), we'd generate >> >> typedef enum __org_qemu_x_Enum { >> __ORG_QEMU_X_ENUM___ORG_QEMU_X_VALUE, >> __ORG_QEMU_X_ENUM__MAX, >> } __org_qemu_x_Enum; >> >> Meh. >> >> Turns out this isn't on purpose. Back then, the loop to map camel to >> upper worked differently, and produced unwanted leading '_'. For >> instance, it mapped 'AbraCadabra' to '_ABRA_CADABRA'. The .lstrip() >> made the function produce 'ABRA_CADABRA'. It also makes it eat >> downstream extensions' leading '__'. Oopsie. > > Which would be a reserved C identifier, wouldn't it? So it seems it > still has its merit, after all (but it is limited to C). Point. There's still __org_qemu_x_Enum, though.