diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2017-08-10 11:11:56 +0100 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2017-08-10 11:17:04 +0100 |
commit | f5cc81c7933cf3d613c5cbef7679ef0f17b74723 (patch) | |
tree | 3f8ee9eb271e721aac3582ac4682bd74d8f4aff0 | |
parent | 267157b96c62b5445de9cddd21de42fcd943ffe6 (diff) | |
download | keycodemapdb-f5cc81c7933cf3d613c5cbef7679ef0f17b74723.zip keycodemapdb-f5cc81c7933cf3d613c5cbef7679ef0f17b74723.tar.gz keycodemapdb-f5cc81c7933cf3d613c5cbef7679ef0f17b74723.tar.bz2 |
Allow customizing the map length data type
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
-rwxr-xr-x | tools/keymap-gen | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/tools/keymap-gen b/tools/keymap-gen index 34de305..719ba52 100755 --- a/tools/keymap-gen +++ b/tools/keymap-gen @@ -548,9 +548,10 @@ class LanguageDocGenerator(LanguageGenerator): class CLanguageGenerator(LanguageSrcGenerator): - def __init__(self, inttypename, strtypename): + def __init__(self, inttypename, strtypename, lentypename): self.inttypename = inttypename self.strtypename = strtypename + self.lentypename = lentypename def _boilerplate(self, lines): print("/*") @@ -586,8 +587,8 @@ class CLanguageGenerator(LanguageSrcGenerator): def _array_end(self, fromtype, totype): print("};") - print("const unsigned int %s_len = sizeof(%s)/sizeof(%s[0]);" % - (self._varname, self._varname, self._varname)) + print("const %s %s_len = sizeof(%s)/sizeof(%s[0]);" % + (self.lentypename, self._varname, self._varname, self._varname)) def _array_entry(self, index, value, comment, fromtype, totype): if value is None: @@ -645,17 +646,17 @@ class CppLanguageGenerator(CLanguageGenerator): class StdCLanguageGenerator(CLanguageGenerator): def __init__(self): - super(StdCLanguageGenerator, self).__init__("unsigned short", "char *") + super(StdCLanguageGenerator, self).__init__("unsigned short", "char *", "unsigned int") class StdCppLanguageGenerator(CppLanguageGenerator): def __init__(self): - super(StdCppLanguageGenerator, self).__init__("unsigned short", "char *") + super(StdCppLanguageGenerator, self).__init__("unsigned short", "char *", "unsigned int") class GLib2LanguageGenerator(CLanguageGenerator): def __init__(self): - super(GLib2LanguageGenerator, self).__init__("guint16", "gchar *") + super(GLib2LanguageGenerator, self).__init__("guint16", "gchar *", "guint") class PythonLanguageGenerator(LanguageSrcGenerator): |