diff options
author | D G Turner | 2013-08-16 06:54:54 +0100 |
---|---|---|
committer | D G Turner | 2013-08-16 06:54:54 +0100 |
commit | 49ea7cd1fdac7e85f6744ca79232fcfc9e11d3c4 (patch) | |
tree | 214e536aead35a9be19b5febef0fdc31ee0f0a18 /gui | |
parent | 0c8f8898ffe2eeea15691a315eb890d74fdc29a7 (diff) | |
download | scummvm-rg350-49ea7cd1fdac7e85f6744ca79232fcfc9e11d3c4.tar.gz scummvm-rg350-49ea7cd1fdac7e85f6744ca79232fcfc9e11d3c4.tar.bz2 scummvm-rg350-49ea7cd1fdac7e85f6744ca79232fcfc9e11d3c4.zip |
GUI: Add too long string literal warning code to theme generation tool.
This has the same effect as clang's -Woverlength-strings warning of
string literals longer than C++ compilers are specified to work with.
Diffstat (limited to 'gui')
-rwxr-xr-x | gui/themes/scummtheme.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gui/themes/scummtheme.py b/gui/themes/scummtheme.py index 4c55fd79de..e8001f8bc6 100755 --- a/gui/themes/scummtheme.py +++ b/gui/themes/scummtheme.py @@ -37,6 +37,7 @@ def parseSTX(theme_file, def_file): comm = re.compile("<!--(.*?)-->", re.DOTALL) head = re.compile("<\?(.*?)\?>") + strlitcount = 0 output = "" for line in theme_file: output += line.rstrip("\r\n\t ").lstrip() + " \n" @@ -48,7 +49,9 @@ def parseSTX(theme_file, def_file): for line in output.splitlines(): if line and not line.isspace(): + strlitcount += len(line) def_file.write("\"" + line + "\"\n") + return strlitcount def buildDefTheme(themeName): def_file = open("default.inc", "w") @@ -57,16 +60,23 @@ def buildDefTheme(themeName): print ("Cannot open default theme dir.") def_file.write(""" "<?xml version = '1.0'?>"\n""") + strlitcount = 24 for filename in os.listdir(themeName): filename = os.path.join(themeName, filename) if os.path.isfile(filename) and filename.endswith(".stx"): theme_file = open(filename, "r") - parseSTX(theme_file, def_file) + strlitcount += parseSTX(theme_file, def_file) theme_file.close() def_file.close() + if strlitcount > 65535: + print("WARNING: default.inc string literal is of length %d which exceeds the" % strlitcount) + print(" maximum length of 65536 that C++ compilers are required to support.") + print(" It is likely that bugs will occur dependent on compiler behaviour.") + print(" To avoid this, reduce the size of the theme.") + def printUsage(): print ("===============================") print ("ScummVM Theme Generation Script") |