> While trying to read the table directory, I am following these steps:
>
> 1. Define and assign `FT_Byte* p = stream->cursor;'
>
> 2. After reading and validating the header, I say something like
> (assuming stream is within limit):
>
> table->FlagByte = FT_NEXT_BYTE( p );
>
> this gives a segmentation fault. Any ideas?
My bad, sorry. It's not `FT_NEXT_*' but either `FT_Get_*' or
`FT_READ_*'. From `ftstream.h':
The `FT_GET_XXX` macros use an implicit 'stream' variable.
Note that a call to `FT_STREAM_SEEK` or `FT_STREAM_POS` has **no**
effect on `FT_GET_XXX`! They operate on `stream->pos`, while
`FT_GET_XXX` use `stream->cursor`.
The `FT_READ_XXX' macros use implicit `stream' and `error'
variables.
`FT_READ_XXX' can be controlled with `FT_STREAM_SEEK' and
`FT_STREAM_POS'. They use the full machinery to check whether a
read is valid.
Werner
_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel