https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d7c47feb25ce8af855ce0ad4202d0499c8a1b1bd

commit d7c47feb25ce8af855ce0ad4202d0499c8a1b1bd
Author:     Amine Khaldi <[email protected]>
AuthorDate: Sat Jan 20 22:30:11 2018 +0100
Commit:     Amine Khaldi <[email protected]>
CommitDate: Sun Jan 21 13:31:05 2018 +0100

    [FREETYPE] Bring back our diffs to reduce the stack usage in 
cf2_interpT2CharString(). CORE-14227
---
 sdk/lib/3rdparty/freetype/src/psaux/psintrp.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/sdk/lib/3rdparty/freetype/src/psaux/psintrp.c 
b/sdk/lib/3rdparty/freetype/src/psaux/psintrp.c
index 5c0ee78492..1ac5b9392b 100644
--- a/sdk/lib/3rdparty/freetype/src/psaux/psintrp.c
+++ b/sdk/lib/3rdparty/freetype/src/psaux/psintrp.c
@@ -525,8 +525,13 @@
     CF2_ArrStackRec  vStemHintArray;
 
     CF2_HintMaskRec   hintMask;
+#ifdef __REACTOS__
+    CF2_GlyphPathRec *glyphPath = malloc(sizeof(CF2_GlyphPathRec));
+/* Ugly but it allows us to reduce the diff */
+#define glyphPath (*glyphPath)
+#else
     CF2_GlyphPathRec  glyphPath;
-
+#endif
 
     FT_ZERO( &storage );
     FT_ZERO( &results );
@@ -2606,7 +2611,13 @@
            * discard `counterMask' and `counterHintMap'.
            *
            */
+#ifdef __REACTOS__
+          CF2_HintMapRec *counterHintMap = malloc(sizeof(CF2_HintMapRec));
+/* Ugly but it allows us to reduce the diff */
+#define counterHintMap (*counterHintMap)
+#else
           CF2_HintMapRec   counterHintMap;
+#endif
           CF2_HintMaskRec  counterMask;
 
 
@@ -2627,6 +2638,9 @@
                              &counterMask,
                              0,
                              FALSE );
+#ifdef __REACTOS__
+          free(&counterHintMap);
+#endif
         }
         break;
 
@@ -3031,6 +3045,12 @@
 
     FT_TRACE4(( "\n" ));
 
+#ifdef __REACTOS__
+    free(&glyphPath);
+#undef counterHintMap
+#undef glyphPath
+#endif
+
     return;
   }
 

Reply via email to