diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2017-08-08 13:11:45 +0100 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2017-08-08 13:12:54 +0100 |
commit | cf6a52466924c4dd12ebdcb2e8160275a914155b (patch) | |
tree | 2b7a04f8075953b8b34701272b024f7da8c4527b | |
parent | d09e4a23dce2a53b3d1dbb6c88a2acb3e991c9d3 (diff) | |
download | keycodemapdb-cf6a52466924c4dd12ebdcb2e8160275a914155b.zip keycodemapdb-cf6a52466924c4dd12ebdcb2e8160275a914155b.tar.gz keycodemapdb-cf6a52466924c4dd12ebdcb2e8160275a914155b.tar.bz2 |
Add support for array upper bounds with enums
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
-rwxr-xr-x | tools/keymap-gen | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/keymap-gen b/tools/keymap-gen index 6c539bd..f3a8634 100755 --- a/tools/keymap-gen +++ b/tools/keymap-gen @@ -147,6 +147,10 @@ class Database: MAP_QCODE: 16, } + ENUM_BOUND = { + MAP_QCODE: "Q_KEY_CODE__MAX", + } + def __init__(self): self.mapto = {} @@ -359,7 +363,7 @@ class LanguageSrcGenerator(LanguageGenerator): keys = range(keys[-1] + 1) if fromtype == self.TYPE_ENUM: - keymax = None + keymax = database.ENUM_BOUND[frommapname] else: keymax = len(keys) @@ -553,8 +557,8 @@ class CLanguageGenerator(LanguageSrcGenerator): self._varname = varname; totypename = self.strtypename if totype == self.TYPE_STRING else self.inttypename if fromtype in (self.TYPE_INT, self.TYPE_ENUM): - if length is None: - print("const %s %s[] = {" % (totypename, varname)) + if type(length) == str: + print("const %s %s[%s] = {" % (totypename, varname, length)) else: print("const %s %s[%d] = {" % (totypename, varname, length)) else: |