In Codewarrior jmp_buf is declared as:
typedef long *jmp_buf[70];
so the volatile FT_ValidatorRec makes the pointers volatile but this
code in ftobjs.c fails:
volatile jmp_buf* jump_buffer = &valid->jump_buffer;
Error : illegal implicit conversion from 'long *volatile (*)[70]' to
'volatile long * (*)[70]'
ftobjs.c line 95 volatile jmp_buf* jump_buffer = &valid-
>jump_buffer;
Note that jmp_buf volatile* is not the correct type either.
also:
Error : illegal implicit conversion from 'long *volatile [70]' to
'long **'
ttcmap.c line 2296 if ( idator)( &valid ))-
>jump_buffer) == 0 )
Before I submit a patch that explicitly casts:
< if ( ft_setjmp( FT_VALIDATOR( &valid )->jump_buffer )
== 0 )
---
> if ( ft_setjmp( *(ft_jmp_buf*) &FT_VALIDATOR( &valid )-
>jump_buffer ) == 0 )
is there a better way to deal with this?
_______________________________________________
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel