xref: /dflybsd-src/usr.bin/patch/util.h (revision b94b84ca5c08efb447331811e050106ac4c7d3f1)
1*b94b84caSDaniel Fojt /*-
248d201a5SJoerg Sonnenberger  * Copyright 1986, Larry Wall
348d201a5SJoerg Sonnenberger  *
448d201a5SJoerg Sonnenberger  * Redistribution and use in source and binary forms, with or without
548d201a5SJoerg Sonnenberger  * modification, are permitted provided that the following condition is met:
648d201a5SJoerg Sonnenberger  * 1. Redistributions of source code must retain the above copyright notice,
748d201a5SJoerg Sonnenberger  * this condition and the following disclaimer.
848d201a5SJoerg Sonnenberger  *
948d201a5SJoerg Sonnenberger  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
1048d201a5SJoerg Sonnenberger  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1148d201a5SJoerg Sonnenberger  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1248d201a5SJoerg Sonnenberger  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
1348d201a5SJoerg Sonnenberger  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1448d201a5SJoerg Sonnenberger  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1548d201a5SJoerg Sonnenberger  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
1648d201a5SJoerg Sonnenberger  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1748d201a5SJoerg Sonnenberger  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1848d201a5SJoerg Sonnenberger  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1948d201a5SJoerg Sonnenberger  * SUCH DAMAGE.
2048d201a5SJoerg Sonnenberger  *
21*b94b84caSDaniel Fojt  * patch - a program to apply diffs to original files
22*b94b84caSDaniel Fojt  *
2348d201a5SJoerg Sonnenberger  * -C option added in 1998, original code by Marc Espie, based on FreeBSD
2448d201a5SJoerg Sonnenberger  * behaviour
25*b94b84caSDaniel Fojt  *
26*b94b84caSDaniel Fojt  * $OpenBSD: util.h,v 1.16 2014/12/13 10:31:07 tobias Exp $
27*b94b84caSDaniel Fojt  * $FreeBSD: head/usr.bin/patch/util.h 286795 2015-08-15 00:42:33Z delphij $
2848d201a5SJoerg Sonnenberger  */
2948d201a5SJoerg Sonnenberger 
3048d201a5SJoerg Sonnenberger char		*fetchname(const char *, bool *, int);
3148d201a5SJoerg Sonnenberger int		backup_file(const char *);
3248d201a5SJoerg Sonnenberger int		move_file(const char *, const char *);
3348d201a5SJoerg Sonnenberger int		copy_file(const char *, const char *);
3448d201a5SJoerg Sonnenberger void		say(const char *, ...)
3548d201a5SJoerg Sonnenberger 		    __attribute__((__format__(__printf__, 1, 2)));
3648d201a5SJoerg Sonnenberger void		fatal(const char *, ...)
376d08986dSSascha Wildner 		    __attribute__((__format__(__printf__, 1, 2)))
386d08986dSSascha Wildner 		    __attribute__((noreturn));
3948d201a5SJoerg Sonnenberger void		pfatal(const char *, ...)
406d08986dSSascha Wildner 		    __attribute__((__format__(__printf__, 1, 2)))
416d08986dSSascha Wildner 		    __attribute__((noreturn));
4248d201a5SJoerg Sonnenberger void		ask(const char *, ...)
4348d201a5SJoerg Sonnenberger 		    __attribute__((__format__(__printf__, 1, 2)));
4448d201a5SJoerg Sonnenberger char		*savestr(const char *);
45*b94b84caSDaniel Fojt char		*xstrdup(const char *);
4648d201a5SJoerg Sonnenberger void		set_signals(int);
4748d201a5SJoerg Sonnenberger void		ignore_signals(void);
4848d201a5SJoerg Sonnenberger void		makedirs(const char *, bool);
496d08986dSSascha Wildner void		version(void) __attribute__((noreturn));
5048d201a5SJoerg Sonnenberger void		my_exit(int) __attribute__((noreturn));
519d62a0f9SSascha Wildner 
529d62a0f9SSascha Wildner /* in mkpath.c */
539d62a0f9SSascha Wildner extern int mkpath(char *);
54