diff options
author | Werner Lemberg <wl@gnu.org> | 2007-05-16 15:19:42 +0000 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2007-05-16 15:19:42 +0000 |
commit | 95bc9d3a0713596bc83ddfc0d487488fefc4dc88 (patch) | |
tree | b507f63a1fc89da4bd199a1cae5347e683466cc4 /src/cache | |
parent | 6ae7ff0607bd3e586d148705ab8cc52b5b1b91d3 (diff) | |
download | freetype2-95bc9d3a0713596bc83ddfc0d487488fefc4dc88.tar.gz |
* src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
(FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
tt_face_get_metrics): Fix type-punning issues.
Diffstat (limited to 'src/cache')
-rw-r--r-- | src/cache/ftccache.c | 12 | ||||
-rw-r--r-- | src/cache/ftccache.h | 5 | ||||
-rw-r--r-- | src/cache/ftcglyph.h | 15 |
3 files changed, 21 insertions, 11 deletions
diff --git a/src/cache/ftccache.c b/src/cache/ftccache.c index 797d35f6d..f3e699c38 100644 --- a/src/cache/ftccache.c +++ b/src/cache/ftccache.c @@ -4,7 +4,7 @@ /* */ /* The FreeType internal cache interface (body). */ /* */ -/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006 by */ +/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -46,7 +46,10 @@ ftc_node_mru_link( FTC_Node node, FTC_Manager manager ) { - FTC_MruNode_Prepend( (FTC_MruNode*)&manager->nodes_list, + void *nl = &manager->nodes_list; + + + FTC_MruNode_Prepend( (FTC_MruNode*)nl, (FTC_MruNode)node ); manager->num_nodes++; } @@ -57,7 +60,10 @@ ftc_node_mru_unlink( FTC_Node node, FTC_Manager manager ) { - FTC_MruNode_Remove( (FTC_MruNode*)&manager->nodes_list, + void *nl = &manager->nodes_list; + + + FTC_MruNode_Remove( (FTC_MruNode*)nl, (FTC_MruNode)node ); manager->num_nodes--; } diff --git a/src/cache/ftccache.h b/src/cache/ftccache.h index 6c9b9b9e8..8c0a7c94f 100644 --- a/src/cache/ftccache.h +++ b/src/cache/ftccache.h @@ -4,7 +4,7 @@ /* */ /* FreeType internal cache interface (specification). */ /* */ -/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006 by */ +/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -233,10 +233,11 @@ FT_BEGIN_HEADER \ { \ FTC_Manager _manager = _cache->manager; \ + void* _nl = &_manager->nodes_list; \ \ \ if ( _node != _manager->nodes_list ) \ - FTC_MruNode_Up( (FTC_MruNode*)&_manager->nodes_list, \ + FTC_MruNode_Up( (FTC_MruNode*)_nl, \ (FTC_MruNode)_node ); \ } \ goto _Ok; \ diff --git a/src/cache/ftcglyph.h b/src/cache/ftcglyph.h index 1a5d12deb..87a4199bf 100644 --- a/src/cache/ftcglyph.h +++ b/src/cache/ftcglyph.h @@ -4,7 +4,7 @@ /* */ /* FreeType abstract glyph cache (specification). */ /* */ -/* Copyright 2000-2001, 2003, 2004, 2006 by */ +/* Copyright 2000-2001, 2003, 2004, 2006, 2007 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -300,11 +300,14 @@ FT_BEGIN_HEADER #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 \ + void* _n = &(node); \ + \ + \ + error = FTC_GCache_Lookup( FTC_GCACHE( cache ), hash, gindex, \ + FTC_GQUERY( query ), (FTC_Node*)_n ); \ FT_END_STMNT #endif /* !FTC_INLINE */ |