xref: /openbsd/usr.bin/patch/util.h (revision d415bd75)
1 /*	$OpenBSD: util.h,v 1.18 2019/08/17 14:25:06 deraadt Exp $	*/
2 
3 /*
4  * patch - a program to apply diffs to original files
5  *
6  * Copyright 1986, Larry Wall
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following condition is met:
10  * 1. Redistributions of source code must retain the above copyright notice,
11  * this condition and the following disclaimer.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
17  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
20  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23  * SUCH DAMAGE.
24  *
25  * -C option added in 1998, original code by Marc Espie, based on FreeBSD
26  * behaviour
27  */
28 
29 char		*fetchname(const char *, bool *, int);
30 int		backup_file(const char *);
31 int		move_file(const char *, const char *);
32 int		copy_file(const char *, const char *);
33 void		say(const char *, ...)
34 		    __attribute__((__format__(__printf__, 1, 2)));
35 void		fatal(const char *, ...)
36 		    __attribute__((__format__(__printf__, 1, 2)));
37 void		pfatal(const char *, ...)
38 		    __attribute__((__format__(__printf__, 1, 2)));
39 void		ask(const char *, ...)
40 		    __attribute__((__format__(__printf__, 1, 2)));
41 char		*savestr(const char *);
42 char		*xstrdup(const char *);
43 void		set_signals(int);
44 void		ignore_signals(void);
45 void		makedirs(const char *, bool);
46 void		version(void);
47 void		my_exit(int) __attribute__((noreturn));
48 void		my_sigexit(int) __attribute__((noreturn));
49 
50 /* in mkpath.c */
51 extern int mkpath(char *);
52