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