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