xref: /original-bsd/lib/libc/gen/x.c (revision bf410196)
1 /*
2  * Copyright (c) 1993 Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  */
7 
8 #if defined(LIBC_SCCS) && !defined(lint)
9 static char sccsid[] = "@(#)x.c	5.1 (Berkeley) 05/28/93";
10 #endif /* LIBC_SCCS and not lint */
11 
12 #include <setjmp.h>
13 
14 int
15 sigsetjmp(jmpbuf, savemask)
16 	sigjmp_buf	jmpbuf;
17 	int		savemask;
18 {
19 
20 	jmpbuf[_JBLEN] = savemask;
21 	if (savemask)
22 		return (setjmp(jmpbuf));
23 	return (_setjmp(jmpbuf));
24 }
25 
26 void
27 siglongjmp(jmpbuf, retval)
28 	sigjmp_buf	jmpbuf;
29 	int		retval;
30 {
31 
32 	if (jmpbuf[_JBLEN])
33 		return (longjmp(jmpbuf, retval));
34 	return (_longjmp(jmpbuf, retval));
35 }
36