On Wed, 19 Feb 2003, Keith Packard wrote:

> Yes, they are rather system specific, but FreeType2 uses setjmp and longjmp
> extensively for error recovery.  Disallowing setjmp and longjmp would
> make using FreeType2 rather difficult.
>
> I believe the approach taken will at least work in the majority of cases,
> as long as setjmp/longjmp are exported as regular functions and jmp_buf
> is no larger than xf86jmp_buf.  Because the system setjmp.h is included
> when referencing those functions, it may be wise to place a check there to
> ensure xf86jmp_buf is large enough; that would catch systems for which
> this technique will fail.

What are the risks of pulling in other system specific stuff that shouldn't
be included?

It seems like the wrapped versions could be extended so that they would work
correctly. Either let the jmpbuf get passed into them, or have a single global
jmpbuf that is used to avoid the stack disapearing problem. It would make the
xf86 version more limited than the system version, but unless FreeType2 is
nesting setjmp calls it should work.


                                Stuart

Stuart R. Anderson                               [EMAIL PROTECTED]
Network & Software Engineering                   http://www.netsweng.com/
1024D/37A79149:                                  0791 D3B8 9A4C 2CDC A31F
                                                 BD03 0A62 E534 37A7 9149
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to