* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):

Initialize `node'.
* src/type1/t1load.c (parse_dict): Initialize `have_integer'.
This commit is contained in:
Werner Lemberg 2004-02-05 14:36:43 +00:00
parent 6b3d00e1a0
commit 0a84eba8a6
4 changed files with 66 additions and 61 deletions

View File

@ -1,3 +1,9 @@
2003-02-03 Werner Lemberg <wl@gnu.org>
* 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 <wl@gnu.org> 2003-02-02 Werner Lemberg <wl@gnu.org>
* src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands

View File

@ -199,63 +199,64 @@ FT_BEGIN_HEADER
#ifdef FTC_INLINE #ifdef FTC_INLINE
#define FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error ) \ #define FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error ) \
FT_BEGIN_STMNT \ FT_BEGIN_STMNT \
FTC_Node *_bucket, *_pnode, _node; \ FTC_Node *_bucket, *_pnode, _node; \
FTC_Cache _cache = FTC_CACHE(cache); \ FTC_Cache _cache = FTC_CACHE(cache); \
FT_UInt32 _hash = (FT_UInt32)(hash); \ FT_UInt32 _hash = (FT_UInt32)(hash); \
FTC_Node_CompareFunc _nodcomp = (FTC_Node_CompareFunc)(nodecmp); \ FTC_Node_CompareFunc _nodcomp = (FTC_Node_CompareFunc)(nodecmp); \
FT_UInt _idx; \ FT_UInt _idx; \
\ \
\ \
error = 0; \ error = 0; \
_idx = _hash & _cache->mask; \ node = NULL; \
if ( _idx < _cache->p ) \ _idx = _hash & _cache->mask; \
_idx = _hash & (_cache->mask*2 + 1); \ if ( _idx < _cache->p ) \
\ _idx = _hash & ( _cache->mask*2 + 1 ); \
_bucket = _pnode = _cache->buckets + _idx; \ \
for (;;) \ _bucket = _pnode = _cache->buckets + _idx; \
{ \ for (;;) \
_node = *_pnode; \ { \
if ( _node == NULL ) \ _node = *_pnode; \
goto _NewNode; \ if ( _node == NULL ) \
\ goto _NewNode; \
if ( _node->hash == _hash && _nodcomp( _node, query, _cache ) ) \ \
break; \ if ( _node->hash == _hash && _nodcomp( _node, query, _cache ) ) \
\ break; \
_pnode = &_node->link; \ \
} \ _pnode = &_node->link; \
\ } \
if ( _node != *_bucket ) \ \
{ \ if ( _node != *_bucket ) \
*_pnode = _node->link; \ { \
_node->link = *_bucket; \ *_pnode = _node->link; \
*_bucket = _node; \ _node->link = *_bucket; \
} \ *_bucket = _node; \
\ } \
{ \ \
FTC_Manager _manager = _cache->manager; \ { \
\ FTC_Manager _manager = _cache->manager; \
\ \
if ( _node != _manager->nodes_list ) \ \
FTC_MruNode_Up( (FTC_MruNode*)&_manager->nodes_list, \ if ( _node != _manager->nodes_list ) \
(FTC_MruNode)_node ); \ FTC_MruNode_Up( (FTC_MruNode*)&_manager->nodes_list, \
} \ (FTC_MruNode)_node ); \
goto _Ok; \ } \
\ goto _Ok; \
_NewNode: \ \
error = FTC_Cache_NewNode( _cache, _hash, query, &_node ); \ _NewNode: \
\ error = FTC_Cache_NewNode( _cache, _hash, query, &_node ); \
_Ok: \ \
*(FTC_Node*)&(node) = _node; \ _Ok: \
*(FTC_Node*)&(node) = _node; \
FT_END_STMNT FT_END_STMNT
#else /* !FTC_INLINE */ #else /* !FTC_INLINE */
#define FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error ) \ #define FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error ) \
FT_BEGIN_STMNT \ FT_BEGIN_STMNT \
error = FTC_Cache_Lookup( FTC_CACHE(cache), hash, query, \ error = FTC_Cache_Lookup( FTC_CACHE( cache ), hash, query, \
(FTC_Node*)&(node) ); \ (FTC_Node*)&(node) ); \
FT_END_STMNT FT_END_STMNT
#endif /* !FTC_INLINE */ #endif /* !FTC_INLINE */

View File

@ -270,19 +270,17 @@ FT_BEGIN_HEADER
FTC_MRULIST_LOOKUP_CMP( &_gcache->families, _gquery, _fcompare, \ FTC_MRULIST_LOOKUP_CMP( &_gcache->families, _gquery, _fcompare, \
_gquery->family, error ); \ _gquery->family, error ); \
if ( !error ) \ if ( !error ) \
{ \
FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error ); \ FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error ); \
} \
FT_END_STMNT FT_END_STMNT
/* */ /* */
#else /* !FTC_INLINE */ #else /* !FTC_INLINE */
#define FTC_GCACHE_LOOKUP_CMP( cache, famcmp, nodecmp, hash, \ #define FTC_GCACHE_LOOKUP_CMP( cache, famcmp, nodecmp, hash, \
gindex, query, node, error ) \ gindex, query, node, error ) \
FT_BEGIN_STMNT \ FT_BEGIN_STMNT \
error = FTC_GCache_Lookup( FTC_GCACHE(cache), hash, gindex, FTC_GQUERY(query), \ error = FTC_GCache_Lookup( FTC_GCACHE( cache ), hash, gindex, \
(FTC_Node*) &(node) ); \ FTC_GQUERY( query ), (FTC_Node*)&(node) ); \
FT_END_STMNT FT_END_STMNT
#endif /* !FTC_INLINE */ #endif /* !FTC_INLINE */

View File

@ -1489,7 +1489,7 @@
{ {
T1_Parser parser = &loader->parser; T1_Parser parser = &loader->parser;
FT_Byte *limit, *start_binary; FT_Byte *limit, *start_binary;
FT_Bool have_integer; FT_Bool have_integer = 0;
parser->root.cursor = base; parser->root.cursor = base;