Commit d2b8b8db8a3325c4349976380983df27e46106e0

suzuki toshiya 2010-09-20T19:06:23

[sfnt] Make error message filling NULL names less verbose. * src/sfnt/ttpost.c (load_format_20): Showing 1 summary message when we fill `post' names by NULL, instead of per-entry message.

diff --git a/ChangeLog b/ChangeLog
index 3d6f200..3a754d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-09-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	[sfnt] Make error message filling NULL names less verbose.
+
+	* src/sfnt/ttpost.c (load_format_20): Showing 1 summary message
+	when we fill `post' names by NULL, instead of per-entry message.
+
 2010-09-20  Graham Asher  <graham.asher@btinternet.com>
 	    David Bevan  <david.bevan@pb.com>
 
diff --git a/src/sfnt/ttpost.c b/src/sfnt/ttpost.c
index 642f1ab..b672d09 100644
--- a/src/sfnt/ttpost.c
+++ b/src/sfnt/ttpost.c
@@ -232,12 +232,7 @@
 
 
         if ( FT_STREAM_POS() >= post_limit )
-        {
-          FT_ERROR(( "load_format_20:"
-                     " all entries in post table are already parsed,"
-                     " using NULL for gid %d\n", n ));
-          len = 0;
-        }
+          break;
         else
         {
           FT_TRACE6(( "load_format_20: %d byte left in post table\n",
@@ -263,6 +258,19 @@
 
         name_strings[n][len] = '\0';
       }
+
+      if ( n < num_names )
+      {
+        FT_ERROR(( "load_format_20:"
+                   " all entries in post table are already parsed,"
+                   " using NULL names for gid %d - %d\n",
+                    n, num_names - 1 ));
+        for ( ; n < num_names; n++ )
+          if ( FT_NEW_ARRAY( name_strings[n], 1 ) )
+            goto Fail1;
+          else
+            name_strings[n][0] = '\0';
+      }
     }
 
     /* all right, set table fields and exit successfully */