Commit 33f3dbe3 authored by Demi Marie Obenour's avatar Demi Marie Obenour
Browse files

Fix handling of documented enum parameters



Previously this would crash the code generator.

Signed-off-by: Demi Marie Obenour's avatarDemi Marie Obenour <demiobenour@gmail.com>
parent c9513aac
Pipeline #714462 passed with stages
in 4 minutes and 25 seconds
......@@ -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.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment