xref: /freebsd/usr.bin/patch/util.h (revision afe61c15161c324a7af299a9b8457aba5afc92db)
1 /* $Header: util.h,v 2.0 86/09/17 15:40:06 lwall Exp $
2  *
3  * $Log:	util.h,v $
4  * Revision 2.0  86/09/17  15:40:06  lwall
5  * Baseline for netwide release.
6  *
7  */
8 
9 /* and for those machine that can't handle a variable argument list */
10 
11 #ifdef CANVARARG
12 
13 #define say1 say
14 #define say2 say
15 #define say3 say
16 #define say4 say
17 #define ask1 ask
18 #define ask2 ask
19 #define ask3 ask
20 #define ask4 ask
21 #define fatal1 fatal
22 #define fatal2 fatal
23 #define fatal3 fatal
24 #define fatal4 fatal
25 
26 #else /* hope they allow multi-line macro actual arguments */
27 
28 #ifdef lint
29 
30 #define say1(a) say(a, 0, 0, 0)
31 #define say2(a,b) say(a, (b)==(b), 0, 0)
32 #define say3(a,b,c) say(a, (b)==(b), (c)==(c), 0)
33 #define say4(a,b,c,d) say(a, (b)==(b), (c)==(c), (d)==(d))
34 #define ask1(a) ask(a, 0, 0, 0)
35 #define ask2(a,b) ask(a, (b)==(b), 0, 0)
36 #define ask3(a,b,c) ask(a, (b)==(b), (c)==(c), 0)
37 #define ask4(a,b,c,d) ask(a, (b)==(b), (c)==(c), (d)==(d))
38 #define fatal1(a) fatal(a, 0, 0, 0)
39 #define fatal2(a,b) fatal(a, (b)==(b), 0, 0)
40 #define fatal3(a,b,c) fatal(a, (b)==(b), (c)==(c), 0)
41 #define fatal4(a,b,c,d) fatal(a, (b)==(b), (c)==(c), (d)==(d))
42 
43 #else /* lint */
44     /* if this doesn't work, try defining CANVARARG above */
45 #define say1(a) say(a, Nullch, Nullch, Nullch)
46 #define say2(a,b) say(a, b, Nullch, Nullch)
47 #define say3(a,b,c) say(a, b, c, Nullch)
48 #define say4 say
49 #define ask1(a) ask(a, Nullch, Nullch, Nullch)
50 #define ask2(a,b) ask(a, b, Nullch, Nullch)
51 #define ask3(a,b,c) ask(a, b, c, Nullch)
52 #define ask4 ask
53 #define fatal1(a) fatal(a, Nullch, Nullch, Nullch)
54 #define fatal2(a,b) fatal(a, b, Nullch, Nullch)
55 #define fatal3(a,b,c) fatal(a, b, c, Nullch)
56 #define fatal4 fatal
57 
58 #endif /* lint */
59 
60 /* if neither of the above work, join all multi-line macro calls. */
61 #endif
62 
63 EXT char serrbuf[BUFSIZ];		/* buffer for stderr */
64 
65 char *fetchname();
66 int move_file();
67 void copy_file();
68 void say();
69 void fatal();
70 void ask();
71 char *savestr();
72 void set_signals();
73 void ignore_signals();
74 void makedirs();
75