From 60936488d4b42d14763d9859d238aeed233d0825 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Wed, 20 Apr 2022 16:41:25 +0200 Subject: mbim-codegen,struct: allow gboolean members --- build-aux/mbim-codegen/Struct.py | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/build-aux/mbim-codegen/Struct.py b/build-aux/mbim-codegen/Struct.py index 8bb6a1b..85dd474 100644 --- a/build-aux/mbim-codegen/Struct.py +++ b/build-aux/mbim-codegen/Struct.py @@ -406,20 +406,27 @@ class Struct: elif field['format'] in ['guint16', 'guint32', 'guint64']: if 'public-format' in field: - inner_template += ( - ' ${if_show_field}{\n' - '#if defined __${public_underscore_upper}_IS_ENUM__\n' - ' g_string_append_printf (str, "\'%s\'", ${public_underscore}_get_string ((${public})self->${field_name_underscore}));\n' - '#elif defined __${public_underscore_upper}_IS_FLAGS__\n' - ' g_autofree gchar *tmpstr = NULL;\n' - '\n' - ' tmpstr = ${public_underscore}_build_string_from_mask ((${public})self->${field_name_underscore});\n' - ' g_string_append_printf (str, "\'%s\'", tmpstr);\n' - '#else\n' - '# error neither enum nor flags\n' - '#endif\n' - ' }\n' - '\n') + if field['public-format'] == 'gboolean': + inner_template += ( + ' ${if_show_field}{\n' + ' g_string_append_printf (str, "\'%s\'", (${public})self->${field_name_underscore} ? "true" : "false");\n' + ' }\n' + '\n') + else: + inner_template += ( + ' ${if_show_field}{\n' + '#if defined __${public_underscore_upper}_IS_ENUM__\n' + ' g_string_append_printf (str, "\'%s\'", ${public_underscore}_get_string ((${public})self->${field_name_underscore}));\n' + '#elif defined __${public_underscore_upper}_IS_FLAGS__\n' + ' g_autofree gchar *tmpstr = NULL;\n' + '\n' + ' tmpstr = ${public_underscore}_build_string_from_mask ((${public})self->${field_name_underscore});\n' + ' g_string_append_printf (str, "\'%s\'", tmpstr);\n' + '#else\n' + '# error neither enum nor flags\n' + '#endif\n' + ' }\n' + '\n') elif field['format'] == 'guint16': inner_template += ( -- cgit v1.2.1