#pragma lib "liberror.a"
#pragma src "/sys/src/liberror"
typedef struct Error Error;
enum {
Nerrors = 32,
};
struct Error {
jmp_buf label[Nerrors];
int nerr;
};
char* estrdup(char*);
void* emalloc(int);
void* erealloc(void*,int);
void errinit(Error* e);
void noerror(void);
void error(char* msg, ...);
void warn(char* msg, ...);
#define catcherror() setjmp((*__ep)->label[(*__ep)->nerr++])
extern Error** __ep;
|