diff options
author | Armin Rigo <arigo@tunes.org> | 2014-04-04 17:20:34 +0200 |
---|---|---|
committer | Armin Rigo <arigo@tunes.org> | 2014-04-04 17:20:34 +0200 |
commit | 99d3c246ae979a73d4cda064a33399a282e749ea (patch) | |
tree | b560755d4561601ee92eda9b7f992607356eee50 /cffi/vengine_cpy.py | |
parent | 1977d3cd51b0d1fb3d260faf91204247929ec07c (diff) | |
download | cffi-99d3c246ae979a73d4cda064a33399a282e749ea.tar.gz |
Issue #142: don't generate C files that use '$' in identifiers.
Diffstat (limited to 'cffi/vengine_cpy.py')
-rw-r--r-- | cffi/vengine_cpy.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cffi/vengine_cpy.py b/cffi/vengine_cpy.py index d9af334..a559ea6 100644 --- a/cffi/vengine_cpy.py +++ b/cffi/vengine_cpy.py @@ -632,13 +632,18 @@ class VCPythonEngine(object): # ---------- # enums + def _enum_funcname(self, prefix, name): + # "$enum_$1" => "___D_enum____D_1" + name = name.replace('$', '___D_') + return '_cffi_e_%s_%s' % (prefix, name) + def _generate_cpy_enum_decl(self, tp, name, prefix='enum'): if tp.partial: for enumerator in tp.enumerators: self._generate_cpy_const(True, enumerator, delayed=False) return # - funcname = '_cffi_e_%s_%s' % (prefix, name) + funcname = self._enum_funcname(prefix, name) prnt = self._prnt prnt('static int %s(PyObject *lib)' % funcname) prnt('{') |