Initial import from FreeBSD RELENG_4:
[games.git] / gnu / usr.bin / patch / util.h
1 /* $FreeBSD: src/gnu/usr.bin/patch/util.h,v 1.7.2.1 2002/04/30 20:40:02 gad 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 #define pfatal1 pfatal
26 #define pfatal2 pfatal
27 #define pfatal3 pfatal
28 #define pfatal4 pfatal
29
30 #else /* hope they allow multi-line macro actual arguments */
31
32 #ifdef lint
33
34 #define say1(a) say(a, 0, 0, 0)
35 #define say2(a,b) say(a, (b)==(b), 0, 0)
36 #define say3(a,b,c) say(a, (b)==(b), (c)==(c), 0)
37 #define say4(a,b,c,d) say(a, (b)==(b), (c)==(c), (d)==(d))
38 #define ask1(a) ask(a, 0, 0, 0)
39 #define ask2(a,b) ask(a, (b)==(b), 0, 0)
40 #define ask3(a,b,c) ask(a, (b)==(b), (c)==(c), 0)
41 #define ask4(a,b,c,d) ask(a, (b)==(b), (c)==(c), (d)==(d))
42 #define fatal1(a) fatal(a, 0, 0, 0)
43 #define fatal2(a,b) fatal(a, (b)==(b), 0, 0)
44 #define fatal3(a,b,c) fatal(a, (b)==(b), (c)==(c), 0)
45 #define fatal4(a,b,c,d) fatal(a, (b)==(b), (c)==(c), (d)==(d))
46 #define pfatal1(a) pfatal(a, 0, 0, 0)
47 #define pfatal2(a,b) pfatal(a, (b)==(b), 0, 0)
48 #define pfatal3(a,b,c) pfatal(a, (b)==(b), (c)==(c), 0)
49 #define pfatal4(a,b,c,d) pfatal(a, (b)==(b), (c)==(c), (d)==(d))
50
51 #else /* lint */
52     /* if this doesn't work, try defining CANVARARG above */
53 #define say1(a) say(a, Nullch, Nullch, Nullch)
54 #define say2(a,b) say(a, b, Nullch, Nullch)
55 #define say3(a,b,c) say(a, b, c, Nullch)
56 #define say4 say
57 #define ask1(a) ask(a, Nullch, Nullch, Nullch)
58 #define ask2(a,b) ask(a, b, Nullch, Nullch)
59 #define ask3(a,b,c) ask(a, b, c, Nullch)
60 #define ask4 ask
61 #define fatal1(a) fatal(a, Nullch, Nullch, Nullch)
62 #define fatal2(a,b) fatal(a, b, Nullch, Nullch)
63 #define fatal3(a,b,c) fatal(a, b, c, Nullch)
64 #define fatal4 fatal
65 #define pfatal1(a) pfatal(a, Nullch, Nullch, Nullch)
66 #define pfatal2(a,b) pfatal(a, b, Nullch, Nullch)
67 #define pfatal3(a,b,c) pfatal(a, b, c, Nullch)
68 #define pfatal4 pfatal
69
70 #endif /* lint */
71
72 /* if neither of the above work, join all multi-line macro calls. */
73 #endif
74
75 EXT char serrbuf[BUFSIZ];               /* buffer for stderr */
76
77 char    *fetchname(char *_at, int _strip_leading, int _assume_exists);
78 int      move_file(char *_from, char *_to);
79 void     copy_file(char *_from, char *_to);
80 void     say(/*const char *pat, long _arg1, long _arg2, long _arg3*/);
81 void     fatal();
82 void     pfatal();
83 int      ask(/*const char *pat, long _arg1, long _arg2, long _arg3*/);
84 char    *savestr(char *_s);
85 void     set_signals(int _reset);
86 void     ignore_signals(void);
87 void     makedirs(/*char *_filename, bool _striplast*/);
88 char    *basename();