summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xutil/local_database/qlocalexml2cpp.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/util/local_database/qlocalexml2cpp.py b/util/local_database/qlocalexml2cpp.py
index a9abe22..af6da33 100755
--- a/util/local_database/qlocalexml2cpp.py
+++ b/util/local_database/qlocalexml2cpp.py
@@ -237,7 +237,17 @@ class StringData:
return self.hash[s]
lst = map(lambda x: hex(ord(x)), s)
- token = StringDataToken(len(self.data), len(lst))
+ index = len(self.data)
+ if index >= 65535:
+ print "\n\n\n#error Data index is too big!"
+ sys.stderr.write ("\n\n\nERROR: index exceeds the uint16 range! index = %d\n" % index)
+ sys.exit(1)
+ size = len(lst)
+ if size >= 65535:
+ print "\n\n\n#error Data is too big!"
+ sys.stderr.write ("\n\n\nERROR: data size exceeds the uint16 range! size = %d\n" % size)
+ sys.exit(1)
+ token = StringDataToken(index, size)
self.hash[s] = token
self.data += lst
return token