2 * error.c - error handling functions for cawf(1)
6 * Copyright (c) 1991 Purdue University Research Foundation,
7 * West Lafayette, Indiana 47907. All rights reserved.
9 * Written by Victor A. Abell <abe@mace.cc.purdue.edu>, Purdue
10 * University Computing Center. Not derived from licensed software;
11 * derived from awf(1) by Henry Spencer of the University of Toronto.
13 * Permission is granted to anyone to use this software for any
14 * purpose on any computer system, and to alter it and redistribute
15 * it freely, subject to the following restrictions:
17 * 1. The author is not responsible for any consequences of use of
18 * this software, even if they arise from flaws in it.
20 * 2. The origin of this software must not be misrepresented, either
21 * by explicit claim or by omission. Credits must appear in the
24 * 3. Altered versions must be plainly marked as such, and must not
25 * be misrepresented as being the original software. Credits must
26 * appear in the documentation.
28 * 4. This notice may not be removed or altered.
35 * Error(t, l, s1, s2) - issue error message
38 void Error(int t
, int l
, char *s1
, char *s2
) {
39 /* type: WARN or FATAL t
40 * LINE: display Line[] l
41 * optional text s1 and s2
43 char msg
[MAXLINE
]; /* message */
45 if (t
== WARN
&& !Dowarn
) return;
48 (void) fprintf(Efs
, "%s: (%s, %d):%s%s - %s\n",
52 (s1
== NULL
) ? "" : s1
,
53 (s2
== NULL
) ? "" : s2
,
56 (void) fprintf(Efs
, "%s:%s%s\n",
58 (s1
== NULL
) ? "" : s1
,
59 (s2
== NULL
) ? "" : s2
);
68 * Error3(len, word, sarg, narg) - process error in pass3
71 void Error3(int len
, char* word
, char *sarg
, int narg
, char *msg
) {
72 /* length (negative is special) len
74 * string argument sarg
75 * numeric argument narg
79 (void) fprintf(Efs
, "%s: (%s, %d) %s\n",
81 (word
== NULL
) ? "<none>" : word
,
83 (sarg
== NULL
) ? "<none>" : sarg
);
87 "%s: pass3, len=%d, word=\"%s\", sarg=\"%s\", narg=%d%s%s\n",
89 (word
== NULL
) ? "" : word
,
90 (sarg
== NULL
) ? "" : sarg
,
92 (msg
== NULL
) ? "" : " - ",
93 (msg
== NULL
) ? "" : msg
);