> 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

Reply via email to