Parcourir la source

Fix compiling-as-C-pre-C99 issues

Sean Barrett il y a 4 ans
Parent
commit
e05ecc05ee
2 fichiers modifiés avec 8 ajouts et 3 suppressions
  1. 5 3
      stb_truetype.h
  2. 3 0
      tests/test_cpp_compilation.cpp

+ 5 - 3
stb_truetype.h

@@ -2581,13 +2581,15 @@ static stbtt_int32 stbtt__GetGlyphGPOSInfoAdvance(const stbtt_fontinfo *info, in
 
                   stbtt_uint16 class1Count = ttUSHORT(table + 12);
                   stbtt_uint16 class2Count = ttUSHORT(table + 14);
+                  stbtt_uint8 *class1Records, *class2Records;
+                  stbtt_int16 xAdvance;
 
                   if (glyph1class < 0 || glyph1class >= class1Count) return 0; // malformed
                   if (glyph2class < 0 || glyph2class >= class2Count) return 0; // malformed
 
-                  stbtt_uint8 *class1Records = table + 16;
-                  stbtt_uint8 *class2Records = class1Records + 2 * (glyph1class * class2Count);
-                  stbtt_int16 xAdvance = ttSHORT(class2Records + 2 * glyph2class);
+                  class1Records = table + 16;
+                  class2Records = class1Records + 2 * (glyph1class * class2Count);
+                  xAdvance = ttSHORT(class2Records + 2 * glyph2class);
                   return xAdvance;
                } else
                   return 0;

+ 3 - 0
tests/test_cpp_compilation.cpp

@@ -183,6 +183,7 @@ void dummy3(void)
   stb_textedit_paste(0,0,0,0);
 }
 
+#if 0
 #define STB_C_LEX_C_DECIMAL_INTS    Y   //  "0|[1-9][0-9]*"                        CLEX_intlit
 #define STB_C_LEX_C_HEX_INTS        Y   //  "0x[0-9a-fA-F]+"                       CLEX_intlit
 #define STB_C_LEX_C_OCTAL_INTS      Y   //  "[0-7]+"                               CLEX_intlit
@@ -229,4 +230,6 @@ void dummy3(void)
 //#define STB_C_LEX_ISWHITE(str)    ... // return length in bytes of whitespace characters if first char is whitespace
 
 #define STB_C_LEXER_DEFINITIONS         // This line prevents the header file from replacing your definitions
+#endif
+
 #include "stb_c_lexer.h"