freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] About errors in gf driver.


From: Werner LEMBERG
Subject: Re: [ft-devel] About errors in gf driver.
Date: Mon, 02 Jul 2018 08:30:18 +0200 (CEST)

[commit 11969d558505c338f29b83bbac4d572fb85b3f2b]

Sorry for the delay in answering your questions; I was abroad without
the ability to update the git repository.

> I have found that `ftview' is not allocating
> `handle->current_font->num_indices' correctly for the gf driver,
> [...]

As a rule of thumb: The error is most certainly not in `ftview' but in
your code.  It is *very* unlikely that `ftview' works for all formats
but GF...

Attached you can find small fixes to make output of the first `make'
call prettier, and to allow `make devel; make' actually work.  I've
also attached the log output of `make devel'; as you can see there are
zillions of warnings that you still have to take care of – if I
remember correctly, I advised you to use `make devel; make' for
development, and it is not clear to me why you didn't follow this
advice...  At least you should have analyzed what it does and transfer
the used compiler flags to your build environment.

After fixing those buglets I compiled the demo programs, and the call

  ftview 20 cmr10.2602gf

crashed immediately.  Running with valgrind gives

  Conditional jump or move depends on uninitialised value(s)
     at 0x47D79D: gf_free_font (gflib.c:466)  
     by 0x47D962: GF_Face_Done (gfdrivr.c:145)
     by 0x414CA0: open_face (ftobjs.c:1404)
     by 0x416971: ft_open_face_internal (ftobjs.c:2447)
     by 0x414D53: FT_New_Face (ftobjs.c:1438)
     by 0x40AB1B: FTDemo_Install_Font (ftcommon.c:396)
     by 0x408B7C: main (ftview.c:1887)
  
  Use of uninitialised value of size 8
     at 0x47D7A3: gf_free_font (gflib.c:468)
     by 0x47D962: GF_Face_Done (gfdrivr.c:145)
     by 0x414CA0: open_face (ftobjs.c:1404)   
     by 0x416971: ft_open_face_internal (ftobjs.c:2447)
     by 0x414D53: FT_New_Face (ftobjs.c:1438)
     by 0x40AB1B: FTDemo_Install_Font (ftcommon.c:396) 
     by 0x408B7C: main (ftview.c:1887)
  
  Invalid read of size 8
     at 0x47D7A3: gf_free_font (gflib.c:468)
     by 0x47D962: GF_Face_Done (gfdrivr.c:145)
     by 0x414CA0: open_face (ftobjs.c:1404)
     by 0x416971: ft_open_face_internal (ftobjs.c:2447)  
     by 0x414D53: FT_New_Face (ftobjs.c:1438)
     by 0x40AB1B: FTDemo_Install_Font (ftcommon.c:396)
     by 0x408B7C: main (ftview.c:1887)
   Address 0x200000008 is not stack'd, malloc'd or (recently) free'd

So you have to find out why this happens.  Note that the problem
happens with *any* file not recognized by other drivers as a font.
For example, you can say

  ftview 20 make.log

to trigger the bug...

If I remember correctly I also advised you to add calls to the various
`FT_TRACEX' macros, which both helps you and the user in debugging
issues.  Now is the time to do that!

BTW, what simple program are you using to check whether the GF module
works?  For example, have you adapted

  https://www.freetype.org/freetype2/docs/tutorial/example1.c

to your needs?  Please post it.

You should work hard to resolve those issues.  Second evaluation is
coming soon...


    Werner
diff --git a/include/freetype/internal/fttrace.h 
b/include/freetype/internal/fttrace.h
index 78b731cab..f59a06ed8 100644
--- a/include/freetype/internal/fttrace.h
+++ b/include/freetype/internal/fttrace.h
@@ -116,6 +116,9 @@ FT_TRACE_DEF( pcfread )
 FT_TRACE_DEF( bdfdriver )
 FT_TRACE_DEF( bdflib )
 
+  /* GF font components */
+FT_TRACE_DEF( gfdriver )
+
   /* PFR font component */
 FT_TRACE_DEF( pfr )
 
diff --git a/src/gf/module.mk b/src/gf/module.mk
index b64a9370d..1eb534671 100644
--- a/src/gf/module.mk
+++ b/src/gf/module.mk
@@ -16,7 +16,7 @@ FTMODULE_H_COMMANDS += GF_DRIVER
 
 define GF_DRIVER
 $(OPEN_DRIVER) FT_Driver_ClassRec, gf_driver_class $(CLOSE_DRIVER)
-$(ECHO_DRIVER)gf       $(ECHO_DRIVER_DESC)gf TeX's bitmap 
fonts$(ECHO_DRIVER_DONE)
+$(ECHO_DRIVER)gf        $(ECHO_DRIVER_DESC)METAFONT bitmap 
fonts$(ECHO_DRIVER_DONE)
 endef
 
 # EOF
gcc -ansi -pedantic -I/home/wl/git/freetype/freetype2.parth/src/gf 
-I/home/wl/git/freetype/freetype2.parth/objs 
-I/home/wl/git/freetype/freetype2.parth/devel 
-I/home/wl/git/freetype/freetype2.parth/include -I/usr/local/include/harfbuzz 
-I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   
-c -g -O0 -Wall -W -Wundef -Wshadow -Wpointer-arith -Wwrite-strings 
-Wredundant-decls -Wno-long-long -Wnested-externs -Wstrict-prototypes 
-DFT2_BUILD_LIBRARY -DFT_CONFIG_MODULES_H="<ftmodule.h>"  -o 
/home/wl/git/freetype/freetype2.parth/objs/gf.o 
/home/wl/git/freetype/freetype2.parth/src/gf/gf.c
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22:0,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function 
‘gf_read_uintn’:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
 warning: value computed is not used [-Wunused-value]
             error != FT_Err_Ok )
                   ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:306:35:
 note: in expansion of macro ‘FT_READ_MACRO’
 #define FT_READ_BYTE( var )       FT_READ_MACRO( FT_Stream_ReadChar, FT_Byte, 
var )
                                   ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:72:7: note: in expansion 
of macro ‘FT_READ_BYTE’
       FT_READ_BYTE(tp);
       ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function 
‘gf_read_intn’:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
 warning: value computed is not used [-Wunused-value]
             error != FT_Err_Ok )
                   ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:306:35:
 note: in expansion of macro ‘FT_READ_MACRO’
 #define FT_READ_BYTE( var )       FT_READ_MACRO( FT_Stream_ReadChar, FT_Byte, 
var )
                                   ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:87:5: note: in expansion 
of macro ‘FT_READ_BYTE’
     FT_READ_BYTE(tp);
     ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
 warning: value computed is not used [-Wunused-value]
             error != FT_Err_Ok )
                   ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:306:35:
 note: in expansion of macro ‘FT_READ_MACRO’
 #define FT_READ_BYTE( var )       FT_READ_MACRO( FT_Stream_ReadChar, FT_Byte, 
var )
                                   ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:95:7: note: in expansion 
of macro ‘FT_READ_BYTE’
       FT_READ_BYTE(tp);
       ^
In file included from 
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftobjs.h:33:0,
                 from 
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:25,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function 
‘gf_read_glyph’:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Skip( stream,                 \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:124:7: note: in expansion 
of macro ‘FT_STREAM_SKIP’
       FT_STREAM_SKIP( 4 );
       ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Skip( stream,                 \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:125:7: note: in expansion 
of macro ‘FT_STREAM_SKIP’
       FT_STREAM_SKIP( 4 );
       ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Skip( stream,                 \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:133:7: note: in expansion 
of macro ‘FT_STREAM_SKIP’
       FT_STREAM_SKIP( 1 );
       ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Skip( stream,                 \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:239:11: note: in expansion 
of macro ‘FT_STREAM_SKIP’
           FT_STREAM_SKIP( k );
           ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Skip( stream,                 \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:242:11: note: in expansion 
of macro ‘FT_STREAM_SKIP’
           FT_STREAM_SKIP( 4 );
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function 
‘gf_load_font’:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Seek( stream,                  \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:283:5: note: in expansion 
of macro ‘FT_STREAM_SEEK’
     FT_STREAM_SEEK( stream->size - 1 );
     ^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:285:5: warning: suggest 
parentheses around assignment used as truth value [-Wparentheses]
     while ( d= READ_UINT1( stream ) == 223)
     ^
In file included from 
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftobjs.h:33:0,
                 from 
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:25,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Seek( stream,                  \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:286:7: note: in expansion 
of macro ‘FT_STREAM_SEEK’
       FT_STREAM_SEEK( stream->pos -2 );
       ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Seek( stream,                  \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:289:5: note: in expansion 
of macro ‘FT_STREAM_SEEK’
     FT_STREAM_SEEK( stream->pos -1 );
     ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Seek( stream,                  \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:299:5: note: in expansion 
of macro ‘FT_STREAM_SEEK’
     FT_STREAM_SEEK( stream->pos -6 );
     ^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22:0,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
 warning: value computed is not used [-Wunused-value]
             error != FT_Err_Ok )
                   ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
 note: in expansion of macro ‘FT_READ_MACRO’
 #define FT_READ_ULONG( var )      FT_READ_MACRO( FT_Stream_ReadULong, 
FT_ULong, var )
                                   ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:309:5: note: in expansion 
of macro ‘FT_READ_ULONG’
     FT_READ_ULONG( ptr_post );
     ^
In file included from 
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftobjs.h:33:0,
                 from 
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:25,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Seek( stream,                  \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:318:5: note: in expansion 
of macro ‘FT_STREAM_SEEK’
     FT_STREAM_SEEK( ptr_post );
     ^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22:0,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
 warning: value computed is not used [-Wunused-value]
             error != FT_Err_Ok )
                   ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
 note: in expansion of macro ‘FT_READ_MACRO’
 #define FT_READ_ULONG( var )      FT_READ_MACRO( FT_Stream_ReadULong, 
FT_ULong, var )
                                   ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:325:5: note: in expansion 
of macro ‘FT_READ_ULONG’
     FT_READ_ULONG( ptr_p )    ;
     ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
 warning: value computed is not used [-Wunused-value]
             error != FT_Err_Ok )
                   ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
 note: in expansion of macro ‘FT_READ_MACRO’
 #define FT_READ_ULONG( var )      FT_READ_MACRO( FT_Stream_ReadULong, 
FT_ULong, var )
                                   ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:326:5: note: in expansion 
of macro ‘FT_READ_ULONG’
     FT_READ_ULONG( ds )       ;
     ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
 warning: value computed is not used [-Wunused-value]
             error != FT_Err_Ok )
                   ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
 note: in expansion of macro ‘FT_READ_MACRO’
 #define FT_READ_ULONG( var )      FT_READ_MACRO( FT_Stream_ReadULong, 
FT_ULong, var )
                                   ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:327:5: note: in expansion 
of macro ‘FT_READ_ULONG’
     FT_READ_ULONG( check_sum );
     ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
 warning: value computed is not used [-Wunused-value]
             error != FT_Err_Ok )
                   ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
 note: in expansion of macro ‘FT_READ_MACRO’
 #define FT_READ_ULONG( var )      FT_READ_MACRO( FT_Stream_ReadULong, 
FT_ULong, var )
                                   ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:328:5: note: in expansion 
of macro ‘FT_READ_ULONG’
     FT_READ_ULONG( hppp )     ;
     ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
 warning: value computed is not used [-Wunused-value]
             error != FT_Err_Ok )
                   ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
 note: in expansion of macro ‘FT_READ_MACRO’
 #define FT_READ_ULONG( var )      FT_READ_MACRO( FT_Stream_ReadULong, 
FT_ULong, var )
                                   ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:329:5: note: in expansion 
of macro ‘FT_READ_ULONG’
     FT_READ_ULONG( vppp )     ;
     ^
In file included from 
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftobjs.h:33:0,
                 from 
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:25,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22,
                 from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Seek( stream,                  \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:430:7: note: in expansion 
of macro ‘FT_STREAM_SEEK’
       FT_STREAM_SEEK( ptr );
       ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
 warning: value computed is not used [-Wunused-value]
           ( ( error = (expression) ) != 0 )
                                      ^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
 note: in expansion of macro ‘FT_SET_ERROR’
           FT_SET_ERROR( FT_Stream_Seek( stream,                  \
           ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:439:7: note: in expansion 
of macro ‘FT_STREAM_SEEK’
       FT_STREAM_SEEK( optr );
       ^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:276:13: warning: unused 
variable ‘tp’ [-Wunused-variable]
     FT_Byte tp;
             ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:275:21: warning: unused 
variable ‘offset’ [-Wunused-variable]
     FT_ULong        offset;
                     ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:273:41: warning: unused 
variable ‘error1’ [-Wunused-variable]
     FT_Error        error  = FT_Err_Ok, error1;
                                         ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:271:49: warning: unused 
variable ‘gptr’ [-Wunused-variable]
     long            ptr_post, ptr_p, ptr, optr, gptr;
                                                 ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:271:31: warning: variable 
‘ptr_p’ set but not used [-Wunused-but-set-variable]
     long            ptr_post, ptr_p, ptr, optr, gptr;
                               ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:268:21: warning: variable 
‘w’ set but not used [-Wunused-but-set-variable]
     INT4            w;
                     ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:266:25: warning: variable 
‘check_sum’ set but not used [-Wunused-but-set-variable]
     UINT4           ds, check_sum, hppp, vppp;
                         ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function 
‘gf_free_font’:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:465:5: warning: ISO C90 
forbids mixed declarations and code [-Wpedantic]
     int i=0, nchars =gfface->num_glyphs;
     ^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:460:43: warning: unused 
parameter ‘memory’ [-Wunused-parameter]
   gf_free_font( FT_Face gfface, FT_Memory memory )
                                           ^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:24:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c: In function 
‘GF_Face_Done’:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:145:5: warning: passing 
argument 1 of ‘gf_free_font’ from incompatible pointer type [enabled by default]
     gf_free_font( face->gf_glyph, memory );
     ^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:460:3: note: expected 
‘FT_Face’ but argument is of type ‘GF_Glyph’
   gf_free_font( FT_Face gfface, FT_Memory memory )
   ^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:24:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c: In function 
‘GF_Face_Init’:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:163:20: warning: 
assignment from incompatible pointer type [enabled by default]
     face->gf_glyph = &go ;
                    ^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:200:33: warning: unused 
variable ‘y_res’ [-Wunused-variable]
         FT_UShort        x_res, y_res;
                                 ^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:200:26: warning: unused 
variable ‘x_res’ [-Wunused-variable]
         FT_UShort        x_res, y_res;
                          ^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:223:29: warning: 
assignment from incompatible pointer type [enabled by default]
         charmap.face        = face;
                             ^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:153:33: warning: unused 
parameter ‘face_index’ [-Wunused-parameter]
                  FT_Int         face_index,
                                 ^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c: In function 
‘GF_Glyph_Load’:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:327:5: warning: 
comparison of unsigned expression < 0 is always false [-Wtype-limits]
     if ( glyph_index < 0 )
     ^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function 
‘gf_load_font’:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:456:3: warning: control 
reaches end of non-void function [-Wreturn-type]
   }
   ^

reply via email to

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