FTC_GCache_Lookup( FTC_GCache cache, FT_Offset hash, FT_UInt gindex, FTC_GQuery query, FTC_Node *anode ) { FT_Error error; query->gindex = gindex; FTC_MRULIST_LOOKUP( &cache->families, query, query->family, error ); if ( !error ) { FTC_Family family = query->family; /* prevent the family from being destroyed too early when an */ /* out-of-memory condition occurs during glyph node initialization. */ family->num_nodes++; error = FTC_Cache_Lookup( FTC_CACHE( cache ), hash, query, anode ); if ( --family->num_nodes == 0 ) FTC_FAMILY_FREE( family, cache ); } return error; }
FTC_GCache_Lookup( FTC_GCache cache, FT_UInt32 hash, FT_UInt gindex, FTC_GQuery query, FTC_Node *anode ) { FT_Error error; query->gindex = gindex; FTC_MRULIST_LOOKUP( &cache->families, query, query->family, error ); if ( !error ) error = FTC_Cache_Lookup( FTC_CACHE( cache ), hash, query, anode ); return error; }