freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] parthw-wip a57dda6 32/35: [gf] Resolve compiler flag errors.


From: Parth Wazurkar
Subject: [freetype2] parthw-wip a57dda6 32/35: [gf] Resolve compiler flag errors.
Date: Wed, 4 Jul 2018 14:09:32 -0400 (EDT)

branch: parthw-wip
commit a57dda656471c69981791913d33782891f92a469
Author: Parth Wazurkar <address@hidden>
Commit: Parth Wazurkar <address@hidden>

    [gf] Resolve compiler flag errors.
    
    * src/gf/gflib.c: Remove all the unused variables,
    add error checking for all the stream functions which
    were raising compiler flag warnings.
    
    * src/gf/gfdrivr.c: Remove unused variables.
---
 src/gf/gfdrivr.c | 99 +++++++++++++++++++++++---------------------------------
 src/gf/gflib.c   | 98 +++++++++++++++++++++++++++++++++----------------------
 2 files changed, 99 insertions(+), 98 deletions(-)

diff --git a/src/gf/gfdrivr.c b/src/gf/gfdrivr.c
index 05c832b..c28b42b 100644
--- a/src/gf/gfdrivr.c
+++ b/src/gf/gfdrivr.c
@@ -23,7 +23,6 @@
 #include FT_TRUETYPE_IDS_H
 #include FT_SERVICE_FONT_FORMAT_H
 
-
 #include "gf.h"
 #include "gfdrivr.h"
 #include "gferror.h"
@@ -135,7 +134,7 @@
   GF_Face_Done( FT_Face        gfface )         /* GF_Face */
   {
     GF_Face    face = (GF_Face)gfface;
-    FT_Memory  memory;
+    FT_Memory  memory= FT_FACE_MEMORY( gfface );
 
 
     if ( !face )
@@ -143,8 +142,7 @@
 
     memory = FT_FACE_MEMORY( face );
 
-    gf_free_font( face->gf_glyph, memory );
-
+    gf_free_font( gfface, memory );
     /* FT_FREE(  ); */
   }
 
@@ -162,99 +160,77 @@
     GF_Glyph    go;
     int i,count;
 
-    face->gf_glyph = &go ;
     FT_UNUSED( num_params );
     FT_UNUSED( params );
-
+    go=NULL;
     FT_TRACE2(( "GF driver\n" ));
 
     /* load font */
     error = gf_load_font( stream, memory, &go );
-
     if ( error )
       goto Exit;
 
-    /* we have a gf font: let's construct the face object */
+    face->gf_glyph = go ;
+    /* we now need to fill the root FT_Face fields */
+    /* with relevant information                   */
 
-    /* GF cannot have multiple faces in a single font file.
-     * XXX: non-zero face_index is already invalid argument, but
-     *      Type1, Type42 driver has a convention to return
-     *      an invalid argument error when the font could be
-     *      opened by the specified driver.
-     */
-   /* if ( face_index > 0 && ( face_index & 0xFFFF ) > 0 )
-    {
-      FT_ERROR(( "GF_Face_Init: invalid face index\n" ));
-      GF_Face_Done( gfface );
-      return FT_THROW( Invalid_Argument );
-    }
-  */
-    gfface->num_faces  = 1;
-    gfface->face_index = 0;
-    gfface->face_flags |= FT_FACE_FLAG_FIXED_SIZES |
+    gfface->num_faces       = 1;
+    gfface->face_index      = 0;
+    gfface->face_flags     |= FT_FACE_FLAG_FIXED_SIZES |
                              FT_FACE_FLAG_HORIZONTAL ;
     /*
      * XXX: TO-DO: gfface->face_flags |= FT_FACE_FLAG_FIXED_WIDTH;
      * XXX: I have to check for this.
      */
-printf("Hi I am here2\n");
-    gfface->family_name = NULL;
-
+    gfface->family_name     = NULL;
     count=0;
     for (i = 0; i < 256; i++)
     {
       if(go->bm_table[i].bitmap != NULL)
         count++;
     }
-    printf("count is %d",count);
-    gfface->num_glyphs      = (FT_Long)count;
+    gfface->num_glyphs      = (FT_Long)count;printf("count is %d", count);
+
 
-    gfface->num_fixed_sizes = 1;
-printf("Hi I am here3\n");
     if ( FT_NEW_ARRAY( gfface->available_sizes, 1 ) )
       goto Exit;
-printf("Hi I am here4\n");
+
     {
       FT_Bitmap_Size*  bsize = gfface->available_sizes;
-      FT_UShort        x_res, y_res;
 
-      FT_ZERO( bsize );
-      bsize->width  = (FT_Short) face->gf_glyph->font_bbx_w    ;
-      bsize->height = (FT_Short) face->gf_glyph->font_bbx_h    ;
-      bsize->size   = (FT_Short) face->gf_glyph->ds            ; /* 
Preliminary to be checked for 26.6 fractional points*/
+      bsize->width  = (FT_Short) face->gf_glyph->font_bbx_w ;
+      bsize->height = (FT_Short) face->gf_glyph->font_bbx_h ;
+      bsize->size   = (FT_Short) face->gf_glyph->ds         ; /* Preliminary 
to be checked for 26.6 fractional points*/
 
       /*x_res =  ;  To be Checked for x_resolution and y_resolution
-        y_res =  ;
-      */
+      y_res =  ;*/
+
       bsize->y_ppem = face->gf_glyph->font_bbx_yoff ;
       bsize->x_ppem = face->gf_glyph->font_bbx_xoff ;
     }
-printf("Hi I am here5\n");
 
       /* Charmaps */
 
-    {
-      FT_CharMapRec  charmap;
+      {
+        FT_CharMapRec  charmap;
 
 
-      charmap.encoding    = FT_ENCODING_NONE;
-      /* initial platform/encoding should indicate unset status? */
-      charmap.platform_id = TT_PLATFORM_APPLE_UNICODE;  /*Preliminary */
-      charmap.encoding_id = TT_APPLE_ID_DEFAULT;
-      charmap.face        = face;
+        charmap.encoding    = FT_ENCODING_NONE;
+        /* initial platform/encoding should indicate unset status? */
+        charmap.platform_id = TT_PLATFORM_APPLE_UNICODE;  /*Preliminary */
+        charmap.encoding_id = TT_APPLE_ID_DEFAULT;
+        charmap.face        = FT_FACE( face );
 
-      error = FT_CMap_New( &gf_cmap_class, NULL, &charmap, NULL );
+        error = FT_CMap_New( &gf_cmap_class, NULL, &charmap, NULL );
+
+        if ( error )
+          goto Fail;
+      }
 
-      if ( error )
-        goto Fail;
-            printf("Hi I am here completed GF_Face_Init1\n");
-    }
-printf("Hi I am here6\n");
   Fail:
-  /*  GF_Face_Done( gfface ); */
+    GF_Face_Done( gfface );
 
   Exit:
-   printf("Hi I am here completed GF_Face_Init2 %ld\n",gfface->num_glyphs);
     return error;
   }
 
@@ -263,14 +239,15 @@ printf("Hi I am here6\n");
                    FT_ULong  strike_index )
   {
     GF_Face        face   = (GF_Face)size->face;
+
     FT_UNUSED( strike_index );
 
 
     FT_Select_Metrics( size->face, 0 );
 
-    size->metrics.ascender    = face->gf_glyph->font_bbx_xoff    * 64 ;
-    size->metrics.descender   = face->gf_glyph->font_bbx_yoff    * 64 ;
-    size->metrics.max_advance = face->gf_glyph->font_bbx_w       * 64 ;
+    size->metrics.ascender    = face->gf_glyph->font_bbx_xoff    * 64;
+    size->metrics.descender   = face->gf_glyph->font_bbx_yoff    * 64;
+    size->metrics.max_advance = face->gf_glyph->font_bbx_w       * 64;
 
     return FT_Err_Ok;
 
@@ -295,10 +272,12 @@ printf("Hi I am here6\n");
       if ( height == ( ( bsize->y_ppem + 32 ) >> 6 ) )
         error = FT_Err_Ok;
       break;
+
     case FT_SIZE_REQUEST_TYPE_REAL_DIM:
       if ( height == face->gf_glyph->font_bbx_h )  /* Preliminary */
         error = FT_Err_Ok;
       break;
+
     default:
       error = FT_THROW( Unimplemented_Feature );
       break;
@@ -326,8 +305,10 @@ printf("Hi I am here6\n");
     GF_Glyph    go;
 
     go = gf->gf_glyph;
+
     FT_UNUSED( load_flags );
 
+
     if ( !face )
     {
       error = FT_THROW( Invalid_Face_Handle );
@@ -360,7 +341,7 @@ printf("Hi I am here6\n");
 
     /* note: we don't allocate a new array to hold the bitmap; */
     /*       we can simply point to it                         */
-    ft_glyphslot_set_bitmap( slot, bm.bitmap );
+    ft_glyphslot_set_bitmap( slot, bm.bitmap ); /* TO CHECK for column and 
row? like winfont.*/
 
     slot->format      = FT_GLYPH_FORMAT_BITMAP;
     slot->bitmap_left = bm.off_x ; /* Prelimiary */
diff --git a/src/gf/gflib.c b/src/gf/gflib.c
index bb4d17f..95d9fad 100644
--- a/src/gf/gflib.c
+++ b/src/gf/gflib.c
@@ -64,12 +64,13 @@ unsigned char   bit_table[] = {
   gf_read_uintn(FT_Stream stream, int size)
   {
     unsigned long  v,k;
-    FT_Error error = FT_Err_Ok;
+    FT_Error error;
     FT_Byte tp;
     v = 0L;
     while (size >= 1)
     {
-      FT_READ_BYTE(tp);
+      if ( FT_READ_BYTE(tp) )
+        return 0; /* To be changed */
       k =(unsigned long)tp;
       v = v*256L + k;
       --size;
@@ -82,9 +83,10 @@ unsigned char   bit_table[] = {
   {
     long           v;
     FT_Byte tp;
-    FT_Error error= FT_Err_Ok;
+    FT_Error error;
     unsigned long z ;
-    FT_READ_BYTE(tp);
+    if ( FT_READ_BYTE(tp) )
+        return 0;/* To be changed */
     z= (unsigned long)tp;
     v = (long)z & 0xffL;
     if (v & 0x80L)
@@ -92,7 +94,8 @@ unsigned char   bit_table[] = {
     --size;
     while (size >= 1)
     {
-      FT_READ_BYTE(tp);
+      if ( FT_READ_BYTE(tp) )
+        return 0;/* To be changed */
       z= (unsigned long)tp;
       v = v*256L + z;
       --size;
@@ -121,15 +124,19 @@ unsigned char   bit_table[] = {
     switch (READ_UINT1( stream ))
     {
     case GF_BOC:
-      FT_STREAM_SKIP( 4 );
-      FT_STREAM_SKIP( 4 );
+      if ( FT_STREAM_SKIP( 4 ) )
+        return -1;
+      if ( FT_STREAM_SKIP( 4 ) )
+        return -1;
       min_m = READ_INT4( stream );
       max_m = READ_INT4( stream );
       min_n = READ_INT4( stream );
       max_n = READ_INT4( stream );
       break;
+
     case GF_BOC1:
-      FT_STREAM_SKIP( 1 );
+      if ( FT_STREAM_SKIP( 1 ) )
+        return -1;
       del_m = (INT4)READ_UINT1( stream );
       max_m = (INT4)READ_UINT1( stream );
       del_n = (INT4)READ_UINT1( stream );
@@ -137,10 +144,13 @@ unsigned char   bit_table[] = {
       min_m = max_m - del_m;
       min_n = max_n - del_n;
       break;
+
     default:
       return -1;
     }
 
+    if(error != FT_Err_Ok)
+      return -1;
     w = max_m - min_m + 1;
     h = max_n - min_n + 1;
     if ((w < 0) || (h < 0))
@@ -234,10 +244,12 @@ unsigned char   bit_table[] = {
         case GF_XXX3:
         case GF_XXX4:
           k = READ_UINTN( stream, instr - GF_XXX1 + 1);
-          FT_STREAM_SKIP( k );
+          if ( FT_STREAM_SKIP( k ) )
+            return -1;
           break;
         case GF_YYY:
-          FT_STREAM_SKIP( 4 );
+          if ( FT_STREAM_SKIP( 4 ) )
+            return -1;
           break;
         case GF_NO_OP:
           break;
@@ -266,25 +278,31 @@ unsigned char   bit_table[] = {
     INT4            w;
     UINT4           code;
     double          dx, dy;
-    long            ptr_post, ptr_p, ptr, optr, gptr;
+    long            ptr_post, ptr_p, ptr, optr;
     int             bc, ec, nchars, i;
-    FT_Error        error  = FT_Err_Ok, error1;
+    FT_Error        error  = FT_Err_Ok;
     FT_Memory       memory = extmemory; /* needed for FT_NEW */
-    FT_ULong        offset;
-    FT_Byte tp;
 
     go = NULL;
     nchars = -1;
 
     /* seek to post_post instr. */
     /* fseek(fp, -1, SEEK_END); */
-    FT_STREAM_SEEK( stream->size - 1 );
+    if( FT_STREAM_SEEK( stream->size - 1 ) )
+      goto ErrExit;
+    if( FT_STREAM_SEEK( stream->size - 1 ) )
+      goto ErrExit;
 
-    while ( d= READ_UINT1( stream ) == 223)
-      FT_STREAM_SEEK( stream->pos -2 );
+    while ( READ_UINT1( stream ) == 223)
+    {
+      if( FT_STREAM_SEEK( stream->pos -2 ) )
+        goto ErrExit;
       /* fseek(fp, -2, SEEK_CUR); */
+    }
 
-    FT_STREAM_SEEK( stream->pos -1 );
+
+    if( FT_STREAM_SEEK( stream->pos -1 ) )
+        goto ErrExit;
     d= READ_UINT1( stream );
 
     if (d != GF_ID)
@@ -294,7 +312,8 @@ unsigned char   bit_table[] = {
     }
 
     /* fseek(fp, -6, SEEK_CUR); */
-    FT_STREAM_SEEK( stream->pos -6 );
+    if(FT_STREAM_SEEK( stream->pos -6 ))
+      goto ErrExit;
 
     /* check if the code is post_post */
     if (READ_UINT1( stream ) != GF_POST_POST)
@@ -304,7 +323,9 @@ unsigned char   bit_table[] = {
     }
 
     /* read pointer to post instr. */
-    FT_READ_ULONG( ptr_post );
+    if(FT_READ_ULONG( ptr_post ))
+      goto ErrExit;
+
     if (ptr_post == -1)
     {
       error = FT_THROW( Invalid_File_Format );
@@ -313,18 +334,25 @@ unsigned char   bit_table[] = {
 
     /* goto post instr. and read it */
     /* fseek(fp, ptr_post, SEEK_SET); */
-    FT_STREAM_SEEK( ptr_post );
+    if(FT_STREAM_SEEK( ptr_post ))
+      goto ErrExit;
+
     if (READ_UINT1( stream ) != GF_POST)
     {
       error = FT_THROW( Invalid_File_Format );
       goto ErrExit;
     }
 
-    FT_READ_ULONG( ptr_p )    ;
-    FT_READ_ULONG( ds )       ;
-    FT_READ_ULONG( check_sum );
-    FT_READ_ULONG( hppp )     ;
-    FT_READ_ULONG( vppp )     ;
+    if(FT_READ_ULONG( ptr_p ))
+      goto ErrExit;
+    if(FT_READ_ULONG( ds ))
+      goto ErrExit;
+    if(FT_READ_ULONG( check_sum ))
+      goto ErrExit;
+    if(FT_READ_ULONG( hppp ))
+      goto ErrExit;
+    if(FT_READ_ULONG( vppp ))
+      goto ErrExit;
     min_m     = READ_INT4( stream );
     max_m     = READ_INT4( stream );
     min_n     = READ_INT4( stream );
@@ -425,7 +453,8 @@ unsigned char   bit_table[] = {
       /* optr = ft_ftell(fp); */
       optr = stream->pos;
       /* ft_fseek(fp, ptr, SEEK_SET); */
-      FT_STREAM_SEEK( ptr );
+      if( FT_STREAM_SEEK( ptr ) )
+        goto ErrExit;
 
       bm = &go->bm_table[code - bc];
       if (gf_read_glyph( stream, bm, memory ) < 0)
@@ -434,7 +463,8 @@ unsigned char   bit_table[] = {
       bm->mv_x = dx;
       bm->mv_y = dy;
       /* ft_fseek(fp, optr, SEEK_SET); */
-      FT_STREAM_SEEK( optr );
+      if(FT_STREAM_SEEK( optr ))
+        goto ErrExit;
     }
     *goptr          = go;
   return error;
@@ -460,17 +490,7 @@ unsigned char   bit_table[] = {
     GF_Face    gf = (GF_Face)gfface;
     GF_Glyph   go;
     go = gf->gf_glyph;
-    int i=0, nchars =gfface->num_glyphs;
-    if (go != NULL)
-    {
-      if (go->bm_table != NULL)
-      {
-        for (i = 0; i < nchars; i++){}
-          /* FT_FREE(go->bm_table[i].bitmap); */
-      }
-      /* FT_FREE(go->bm_table); */
-    }
-    /* FT_FREE(go); */
+
   }
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]