diff mbox series

[4/6] qapi: cope with feature names containing a '-'

Message ID 20240801175913.669013-5-berrange@redhat.com
State New
Headers show
Series qapi: generalize special features | expand

Commit Message

Daniel P. Berrangé Aug. 1, 2024, 5:59 p.m. UTC
When we shortly expose all feature names to code, it will be valid to
include a '-', which must be translated to a '_' for the enum constants.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 scripts/qapi/gen.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Markus Armbruster Aug. 5, 2024, 12:10 p.m. UTC | #1
Daniel P. Berrangé <berrange@redhat.com> writes:

> When we shortly expose all feature names to code, it will be valid to
> include a '-', which must be translated to a '_' for the enum constants.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  scripts/qapi/gen.py | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/qapi/gen.py b/scripts/qapi/gen.py
> index 0ff29dc776..036977d989 100644
> --- a/scripts/qapi/gen.py
> +++ b/scripts/qapi/gen.py
> @@ -24,6 +24,7 @@
>  )
>  
>  from .common import (
> +    c_enum_const,
>      c_fname,
>      c_name,
>      guardend,
> @@ -41,7 +42,7 @@
>  
>  
>  def gen_features(features: Sequence[QAPISchemaFeature]) -> str:
> -    features = [f"1u << QAPI_FEATURE_{feat.name.upper()}"
> +    features = [f"1u << {c_enum_const('QAPI_FEATURE', feat.name)}"
>                  for feat in features if feat.is_special()]
>      return ' | '.join(features) or '0'

Reviewed-by: Markus Armbruster <armbru@redhat.com>
diff mbox series

Patch

diff --git a/scripts/qapi/gen.py b/scripts/qapi/gen.py
index 0ff29dc776..036977d989 100644
--- a/scripts/qapi/gen.py
+++ b/scripts/qapi/gen.py
@@ -24,6 +24,7 @@ 
 )
 
 from .common import (
+    c_enum_const,
     c_fname,
     c_name,
     guardend,
@@ -41,7 +42,7 @@ 
 
 
 def gen_features(features: Sequence[QAPISchemaFeature]) -> str:
-    features = [f"1u << QAPI_FEATURE_{feat.name.upper()}"
+    features = [f"1u << {c_enum_const('QAPI_FEATURE', feat.name)}"
                 for feat in features if feat.is_special()]
     return ' | '.join(features) or '0'