conterm/kern/waserror.c

28 lines
382 B
C
Raw Normal View History

2005-08-08 16:50:13 +04:00
#include "u.h"
#include "lib.h"
#include "dat.h"
#include "fns.h"
#include "error.h"
Label*
pwaserror(void)
{
if(up->nerrlab == NERR)
panic("error stack overflow");
return &up->errlab[up->nerrlab++];
}
void
nexterror(void)
{
longjmp(up->errlab[--up->nerrlab].buf, 1);
}
void
error(char *e)
{
kstrcpy(up->errstr, e, ERRMAX);
setjmp(up->errlab[NERR-1].buf);
nexterror();
}