1 /*
2
3 * Copyright (c) 1984, 1985, 1986 AT&T
4 * All Rights Reserved
5
6 * THIS IS UNPUBLISHED PROPRIETARY SOURCE
7 * CODE OF AT&T.
8 * The copyright notice above does not
9 * evidence any actual or intended
10 * publication of such source code.
11
12 */
13 /* @(#)failed.c 1.1 */
14
15 /*
16 * FAILED.C
17 *
18 * Programmer: D. A. Lambeth
19 *
20 * Owner: D. A. Lambeth
21 *
22 * Date: April 17, 1980
23 *
24 *
25 *
26 * FAILED (S1, S2)
27 *
28 * Program Failure. Print an error diagnostic containing
29 * the strings S1 and S2, and longjmp to an error-handling
30 * routine.
31 *
32 *
33 *
34 * See Also: SETJMP(3C)
35 */
36
37 /*
38 * FAILED (S1, S2)
39 *
40 * char *S1;
41 *
42 * char *S2;
43 *
44 * Print an error message of the format
45 *
46 * S1 : S2
47 *
48 * at the stderr file.
49 *
50 * Longjmp to the location errshell, which must have been
51 * established previously by a call to setjmp.
52 *
53 * Note that the return value from setjmp will always be
54 * '1'.
55 */
56
57 #include <stdio.h>
58 #include <setjmp.h>
59
60 extern jmp_buf errshell;
61 extern char colon[], newline[];
62
failed(s1,s2)63 void failed(s1,s2)
64 char *s1, *s2;
65 {
66 write (2, s1, strlen(s1));
67 if (s2)
68 {
69 write (2, colon, strlen(colon));
70 write (2, s2, strlen(s2));
71 }
72 write (2, newline, strlen(newline));
73 longjmp(errshell, 1);
74 }
75