On Wed, Mar 14, 2012 at 08:53:28AM -0400, Alexei Podtelezhnikov wrote:
> Then I would prefer
> 
> if (code == 0)
>    break;

Works for me.  See attached.

Huw.


>From 137db2199aee433badb892bc7287d3eca5d4f2a4 Mon Sep 17 00:00:00 2001
From: Huw Davies <h...@codeweavers.com>
Date: Wed, 14 Mar 2012 13:21:36 +0000
Subject: [sfnt] Don't replace '\0' with question marks when converting
 strings from the name table.

---
 src/sfnt/sfobjs.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c
index d7be631..b53402f 100644
--- a/src/sfnt/sfobjs.c
+++ b/src/sfnt/sfobjs.c
@@ -64,13 +64,17 @@
     for ( n = 0; n < len; n++ )
     {
       code = FT_NEXT_USHORT( read );
+
+      if ( code == 0 )
+        break;
+
       if ( code < 32 || code > 127 )
         code = '?';
 
       string[n] = (char)code;
     }
 
-    string[len] = 0;
+    string[n] = 0;
 
     return string;
   }
@@ -95,13 +99,17 @@
     for ( n = 0; n < len; n++ )
     {
       code = *read++;
+
+      if ( code == 0 )
+        break;
+
       if ( code < 32 || code > 127 )
         code = '?';
 
       string[n] = (char)code;
     }
 
-    string[len] = 0;
+    string[n] = 0;
 
     return string;
   }
-- 
1.7.0.4

_______________________________________________
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to