pike.git / src / error.h

version» Context lines:

pike.git/src/error.h:18:   #include "svalue.h"         typedef void (*error_call)(void *);      #ifndef STRUCT_FRAME_DECLARED   #define STRUCT_FRAME_DECLARED   struct frame;   #endif    + #define THROW_ERROR 1 + #define THROW_EXIT 1000 +    typedef struct ONERROR   {    struct ONERROR *previous;    error_call func;    void *arg;   } ONERROR;      typedef struct JMP_BUF   {    struct JMP_BUF *previous;    jmp_buf recovery;    struct frame *fp;    INT32 sp;    INT32 mark_sp; -  +  INT32 severity;    ONERROR *onerror;   } JMP_BUF;      extern JMP_BUF *recoveries;   extern struct svalue throw_value; -  + extern int throw_severity;      #define SETJMP(X) setjmp((init_recovery(&X)->recovery))   #define UNSETJMP(X) recoveries=X.previous;      #define SET_ONERROR(X,Y,Z) \    do{ \    X.func=(error_call)(Y); \    X.arg=(void *)(Z); \    X.previous=recoveries->onerror; \    recoveries->onerror=&X; \