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