vlc/python | branch: master | Olivier Aubert <[email protected]> | Sat Oct 6 20:15:58 2018 +0200| [08554bb2ac51a47f27a2108d6abc217de7ec1c16] | committer: Olivier Aubert
python: fix typedef regexp To correctly handle both typedef void *(*libvlc_video_lock_cb)(void *opaque, void **planes) and typedef void* (*libvlc_gl_getProcAddress_cb)(void* opaque, const char* fct_name) > http://git.videolan.org/gitweb.cgi/vlc/python.git/?a=commit;h=08554bb2ac51a47f27a2108d6abc217de7ec1c16 --- generator/generate.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/generator/generate.py b/generator/generate.py index 595c595..3c11d5b 100755 --- a/generator/generate.py +++ b/generator/generate.py @@ -145,7 +145,7 @@ def_re = re.compile('^\s+def\s+(\w+)', re.MULTILINE) enum_type_re = re.compile('^(?:typedef\s+)?enum') enum_re = re.compile('(?:typedef\s+)?(enum)\s*(\S+)\s*\{\s*(.+)\s*\}\s*(?:\S+)?;') enum_pair_re = re.compile('\s*=\s*') -callback_type_re = re.compile('^typedef\s+\w+(\s+\*)?\s*\(\s*\*') +callback_type_re = re.compile('^typedef\s+\w+(\s*\*)?\s*\(\s*\*') callback_re = re.compile('typedef\s+\*?(\w+\s*\*?)\s*\(\s*\*\s*(\w+)\s*\)\s*\((.+)\);') struct_type_re = re.compile('^typedef\s+struct\s*(\S+)\s*$') struct_re = re.compile('typedef\s+(struct)\s*(\S+)?\s*\{\s*(.+)\s*\}\s*(?:\S+)?\s*;') @@ -926,6 +926,7 @@ class PythonGenerator(_Generator): 'va_list': 'ctypes.c_void_p', 'char*': 'ctypes.c_char_p', 'bool': 'ctypes.c_bool', + 'bool*': 'ctypes.POINTER(ctypes.c_bool)', 'char**': 'ListPOINTER(ctypes.c_char_p)', 'float': 'ctypes.c_float', 'int': 'ctypes.c_int', _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
