aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2017-08-10 11:11:56 +0100
committerDaniel P. Berrange <berrange@redhat.com>2017-08-10 11:17:04 +0100
commitf5cc81c7933cf3d613c5cbef7679ef0f17b74723 (patch)
tree3f8ee9eb271e721aac3582ac4682bd74d8f4aff0
parent267157b96c62b5445de9cddd21de42fcd943ffe6 (diff)
downloadkeycodemapdb-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-xtools/keymap-gen13
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):