ref: a8d65494cb2f6185b0d4b42106365ff41a755b09
parent: 2a2dca6b401278728086a3984c42888e99ffec5a
author: Werner Lemberg <[email protected]>
date: Wed Jun 6 00:47:49 EDT 2007
* src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal FreeType error.
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,10 @@
* src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
+
+ * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
+ FreeType error.
+
2007-06-05 Werner Lemberg <[email protected]>
* src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
--- a/src/pfr/pfrcmap.c
+++ b/src/pfr/pfrcmap.c
@@ -4,7 +4,7 @@
/* */
/* FreeType PFR cmap handling (body). */
/* */
-/* Copyright 2002 by */
+/* Copyright 2002, 2007 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -24,7 +24,8 @@
FT_CALLBACK_DEF( FT_Error )
pfr_cmap_init( PFR_CMap cmap )
{
- PFR_Face face = (PFR_Face)FT_CMAP_FACE( cmap );
+ FT_Error error = PFR_Err_Ok;
+ PFR_Face face = (PFR_Face)FT_CMAP_FACE( cmap );
cmap->num_chars = face->phy_font.num_chars;
@@ -39,11 +40,15 @@
for ( n = 1; n < cmap->num_chars; n++ )
{
if ( cmap->chars[n - 1].char_code >= cmap->chars[n].char_code )
- FT_ASSERT( 0 );
+ {
+ error = PFR_Err_Invalid_Table;
+ goto Exit;
+ }
}
}
- return 0;
+ Exit:
+ return error;
}