summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDemi Marie Obenour <demiobenour@gmail.com>2022-10-16 01:50:53 -0400
committerDemi Marie Obenour <demiobenour@gmail.com>2022-10-16 15:44:42 -0400
commit33f3dbe3699a92e8ca18f470adac456e0b935e75 (patch)
tree2db4be3b80e8a1a7a8efcfaa0f5a348f0163f284
parentc9513aac2d78808f63b83d71072c2c483b20162d (diff)
downloadxcb-libxcb-33f3dbe3699a92e8ca18f470adac456e0b935e75.tar.gz
Fix handling of documented enum parameters
Previously this would crash the code generator. Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
-rw-r--r--src/c_client.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/c_client.py b/src/c_client.py
index fd256f0..0213d01 100644
--- a/src/c_client.py
+++ b/src/c_client.py
@@ -2266,13 +2266,13 @@ def _c_request_helper(self, name, void, regular, aux=False, reply_fds=False):
elif base_func_name == 'xcb_create_window' and field.c_field_name == 'value_mask':
field.enum = 'CW'
if field.enum:
- # XXX: why the 'xcb' prefix?
- key = ('xcb', field.enum)
+ assert 2 <= len(self.name) <= 3
+ key = (*self.name[:-1], field.enum)
tname = _t(key)
if namecount[tname] > 1:
tname = _t(key + ('enum',))
- _h(' * @param %s A bitmask of #%s values.' % (field.c_field_name, tname))
+ _h(' * @param %s A bitmask of #%s values.', field.c_field_name, tname)
if self.doc and field.field_name in self.doc.fields:
desc = self.doc.fields[field.field_name]
@@ -2280,7 +2280,8 @@ def _c_request_helper(self, name, void, regular, aux=False, reply_fds=False):
desc = desc.replace('`%s`' % name, '\\a %s' % (name))
desc = desc.split("\n")
desc = [line if line != '' else '\\n' for line in desc]
- _h(' * @param %s %s' % (field.c_field_name, "\n * ".join(desc)))
+ _h(' * @param %s %s', field.c_field_name, "\n * ".join(desc))
+
# If there is no documentation yet, we simply don't generate an
# @param tag. Doxygen will then warn about missing documentation.