shithub: freetype+ttf2subf

Download patch

ref: 0a84eba8a6e7776526912d3448755dbee2251d85
parent: 6b3d00e1a0bc5033aeeab51912eda0aff6ed6e8b
author: Werner Lemberg <[email protected]>
date: Thu Feb 5 09:36:43 EST 2004

* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
Initialize `node'.
* src/type1/t1load.c (parse_dict): Initialize `have_integer'.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-02-03  Werner Lemberg  <[email protected]>
+
+	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
+	Initialize `node'.
+	* src/type1/t1load.c (parse_dict): Initialize `have_integer'.
+
 2003-02-02  Werner Lemberg  <[email protected]>
 
 	* src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
--- a/include/freetype/cache/ftccache.h
+++ b/include/freetype/cache/ftccache.h
@@ -199,63 +199,64 @@
 
 #ifdef FTC_INLINE
 
-#define FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error )   \
-  FT_BEGIN_STMNT                                                           \
-    FTC_Node             *_bucket, *_pnode, _node;                         \
-    FTC_Cache             _cache   = FTC_CACHE(cache);                     \
-    FT_UInt32             _hash    = (FT_UInt32)(hash);                    \
-    FTC_Node_CompareFunc  _nodcomp = (FTC_Node_CompareFunc)(nodecmp);      \
-    FT_UInt               _idx;                                            \
-                                                                           \
-                                                                           \
-    error = 0;                                                             \
-    _idx  = _hash & _cache->mask;                                          \
-    if ( _idx < _cache->p )                                                \
-      _idx = _hash & (_cache->mask*2 + 1);                                 \
-                                                                           \
-    _bucket = _pnode = _cache->buckets + _idx;                             \
-    for (;;)                                                               \
-    {                                                                      \
-      _node = *_pnode;                                                     \
-      if ( _node == NULL )                                                 \
-        goto _NewNode;                                                     \
-                                                                           \
-      if ( _node->hash == _hash && _nodcomp( _node, query, _cache ) )      \
-        break;                                                             \
-                                                                           \
-      _pnode = &_node->link;                                               \
-    }                                                                      \
-                                                                           \
-    if ( _node != *_bucket )                                               \
-    {                                                                      \
-      *_pnode     = _node->link;                                           \
-      _node->link = *_bucket;                                              \
-      *_bucket    = _node;                                                 \
-    }                                                                      \
-                                                                           \
-    {                                                                      \
-      FTC_Manager  _manager = _cache->manager;                             \
-                                                                           \
-                                                                           \
-      if ( _node != _manager->nodes_list )                                 \
-        FTC_MruNode_Up( (FTC_MruNode*)&_manager->nodes_list,               \
-                        (FTC_MruNode)_node );                              \
-    }                                                                      \
-    goto _Ok;                                                              \
-                                                                           \
-  _NewNode:                                                                \
-    error = FTC_Cache_NewNode( _cache, _hash, query, &_node );             \
-                                                                           \
-  _Ok:                                                                     \
-    *(FTC_Node*)&(node) = _node;                                           \
+#define FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error ) \
+  FT_BEGIN_STMNT                                                         \
+    FTC_Node             *_bucket, *_pnode, _node;                       \
+    FTC_Cache             _cache   = FTC_CACHE(cache);                   \
+    FT_UInt32             _hash    = (FT_UInt32)(hash);                  \
+    FTC_Node_CompareFunc  _nodcomp = (FTC_Node_CompareFunc)(nodecmp);    \
+    FT_UInt               _idx;                                          \
+                                                                         \
+                                                                         \
+    error = 0;                                                           \
+    node  = NULL;                                                        \
+    _idx  = _hash & _cache->mask;                                        \
+    if ( _idx < _cache->p )                                              \
+      _idx = _hash & ( _cache->mask*2 + 1 );                             \
+                                                                         \
+    _bucket = _pnode = _cache->buckets + _idx;                           \
+    for (;;)                                                             \
+    {                                                                    \
+      _node = *_pnode;                                                   \
+      if ( _node == NULL )                                               \
+        goto _NewNode;                                                   \
+                                                                         \
+      if ( _node->hash == _hash && _nodcomp( _node, query, _cache ) )    \
+        break;                                                           \
+                                                                         \
+      _pnode = &_node->link;                                             \
+    }                                                                    \
+                                                                         \
+    if ( _node != *_bucket )                                             \
+    {                                                                    \
+      *_pnode     = _node->link;                                         \
+      _node->link = *_bucket;                                            \
+      *_bucket    = _node;                                               \
+    }                                                                    \
+                                                                         \
+    {                                                                    \
+      FTC_Manager  _manager = _cache->manager;                           \
+                                                                         \
+                                                                         \
+      if ( _node != _manager->nodes_list )                               \
+        FTC_MruNode_Up( (FTC_MruNode*)&_manager->nodes_list,             \
+                        (FTC_MruNode)_node );                            \
+    }                                                                    \
+    goto _Ok;                                                            \
+                                                                         \
+  _NewNode:                                                              \
+    error = FTC_Cache_NewNode( _cache, _hash, query, &_node );           \
+                                                                         \
+  _Ok:                                                                   \
+    *(FTC_Node*)&(node) = _node;                                         \
   FT_END_STMNT
 
 #else /* !FTC_INLINE */
 
-#define FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error )   \
-  FT_BEGIN_STMNT                                                           \
-    error = FTC_Cache_Lookup( FTC_CACHE(cache), hash, query,               \
-                              (FTC_Node*)&(node) );                        \
+#define FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error ) \
+  FT_BEGIN_STMNT                                                         \
+    error = FTC_Cache_Lookup( FTC_CACHE( cache ), hash, query,           \
+                              (FTC_Node*)&(node) );                      \
   FT_END_STMNT
 
 #endif /* !FTC_INLINE */
--- a/include/freetype/cache/ftcglyph.h
+++ b/include/freetype/cache/ftcglyph.h
@@ -270,19 +270,17 @@
     FTC_MRULIST_LOOKUP_CMP( &_gcache->families, _gquery, _fcompare,         \
                             _gquery->family, error );                       \
     if ( !error )                                                           \
-    {                                                                       \
       FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error );     \
-    }                                                                       \
   FT_END_STMNT
   /* */
 
 #else /* !FTC_INLINE */
 
-#define FTC_GCACHE_LOOKUP_CMP( cache, famcmp, nodecmp, hash,                \
-                               gindex, query, node, error )                 \
-   FT_BEGIN_STMNT                                                           \
-     error = FTC_GCache_Lookup( FTC_GCACHE(cache), hash, gindex, FTC_GQUERY(query),     \
-                                (FTC_Node*) &(node) );                      \
+#define FTC_GCACHE_LOOKUP_CMP( cache, famcmp, nodecmp, hash,               \
+                               gindex, query, node, error )                \
+   FT_BEGIN_STMNT                                                          \
+     error = FTC_GCache_Lookup( FTC_GCACHE( cache ), hash, gindex,         \
+                                FTC_GQUERY( query ), (FTC_Node*)&(node) ); \
    FT_END_STMNT
 
 #endif /* !FTC_INLINE */
--- a/src/type1/t1load.c
+++ b/src/type1/t1load.c
@@ -1489,7 +1489,7 @@
   {
     T1_Parser  parser = &loader->parser;
     FT_Byte   *limit, *start_binary;
-    FT_Bool    have_integer;
+    FT_Bool    have_integer = 0;
 
 
     parser->root.cursor = base;