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