summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mapi/glapi/gen/gl_enums.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/mapi/glapi/gen/gl_enums.py b/src/mapi/glapi/gen/gl_enums.py
index 6e18f156f38..62cc1b36300 100644
--- a/src/mapi/glapi/gen/gl_enums.py
+++ b/src/mapi/glapi/gen/gl_enums.py
@@ -156,14 +156,21 @@ _mesa_lookup_prim_by_nr(GLuint nr)
print '# define LONGSTRING'
print '#endif'
print ''
- print 'LONGSTRING static const char enum_string_table[] = '
+ print 'LONGSTRING static const char enum_string_table[] = {'
+ # We express the very long concatenation of enum strings as an array
+ # of characters rather than as a string literal to work-around MSVC's
+ # 65535 character limit.
for enum in sorted_enum_values:
(name, pri) = self.enum_table[enum]
- print ' "%s\\0"' % (name)
+ print " ",
+ for ch in name:
+ print "'%c'," % ch,
+ print "'\\0',"
+
string_offsets[ enum ] = i
i += len(name) + 1
- print ' ;'
+ print '};'
print ''