diff options
| author | nia <nia@NetBSD.org> | 2021-02-19 17:46:53 +0000 |
|---|---|---|
| committer | nia <nia@NetBSD.org> | 2021-02-19 17:46:53 +0000 |
| commit | 2ec3a9ea2897d249c4259fd16cd9b616ef930e88 (patch) | |
| tree | 298a6b194c4f1c96bcfdc5cea217946141c56fde /usr.bin | |
| parent | a8ca7525b39471b05028b5cff74788c8cc2991a1 (diff) | |
patch: make '-V none' work in the expected way
Internally the code confuses the concept of "the user doesn't want
a backup file" and "the user hasn't defined a type of backup file".
Introduce a new "undefined" backup type to serve the purpose "none"
previously did, and make "none" not generate backup files, as expected.
http://mail-index.netbsd.org/tech-userlevel/2021/02/19/msg012901.html
XXX pullup?
Diffstat (limited to 'usr.bin')
| -rw-r--r-- | usr.bin/patch/backupfile.c | 6 | ||||
| -rw-r--r-- | usr.bin/patch/backupfile.h | 4 | ||||
| -rw-r--r-- | usr.bin/patch/patch.c | 19 |
3 files changed, 16 insertions, 13 deletions
diff --git a/usr.bin/patch/backupfile.c b/usr.bin/patch/backupfile.c index 25d60768cc2..38ceb34f258 100644 --- a/usr.bin/patch/backupfile.c +++ b/usr.bin/patch/backupfile.c @@ -1,7 +1,7 @@ /* * $OpenBSD: backupfile.c,v 1.19 2006/03/11 19:41:30 otto Exp $ * $DragonFly: src/usr.bin/patch/backupfile.c,v 1.5 2008/08/11 00:05:06 joerg Exp $ - * $NetBSD: backupfile.c,v 1.15 2014/04/11 17:30:03 christos Exp $ + * $NetBSD: backupfile.c,v 1.16 2021/02/19 17:46:53 nia Exp $ */ /* @@ -22,7 +22,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: backupfile.c,v 1.15 2014/04/11 17:30:03 christos Exp $"); +__RCSID("$NetBSD: backupfile.c,v 1.16 2021/02/19 17:46:53 nia Exp $"); #include <ctype.h> #include <dirent.h> @@ -38,7 +38,7 @@ __RCSID("$NetBSD: backupfile.c,v 1.15 2014/04/11 17:30:03 christos Exp $"); #define ISDIGIT(c) (isascii ((unsigned char)c) && isdigit ((unsigned char)c)) /* Which type of backup file names are generated. */ -enum backup_type backup_type = none; +enum backup_type backup_type = undefined; /* * The extension added to file names to produce a simple (as opposed to diff --git a/usr.bin/patch/backupfile.h b/usr.bin/patch/backupfile.h index d146c3a75a1..3accae93aa9 100644 --- a/usr.bin/patch/backupfile.h +++ b/usr.bin/patch/backupfile.h @@ -1,7 +1,7 @@ /* * $OpenBSD: backupfile.h,v 1.6 2003/07/28 18:35:36 otto Exp $ * $DragonFly: src/usr.bin/patch/backupfile.h,v 1.3 2007/09/29 23:11:10 swildner Exp $ - * $NetBSD: backupfile.h,v 1.6 2008/09/19 18:33:34 joerg Exp $ + * $NetBSD: backupfile.h,v 1.7 2021/02/19 17:46:53 nia Exp $ */ /* @@ -19,6 +19,8 @@ /* When to make backup files. */ enum backup_type { + undefined, + /* Never make backups. */ none, diff --git a/usr.bin/patch/patch.c b/usr.bin/patch/patch.c index 9f49e7f96e1..2b7b8b96e79 100644 --- a/usr.bin/patch/patch.c +++ b/usr.bin/patch/patch.c @@ -1,7 +1,7 @@ /* * $OpenBSD: patch.c,v 1.45 2007/04/18 21:52:24 sobrado Exp $ * $DragonFly: src/usr.bin/patch/patch.c,v 1.10 2008/08/10 23:39:56 joerg Exp $ - * $NetBSD: patch.c,v 1.29 2011/09/06 18:25:14 joerg Exp $ + * $NetBSD: patch.c,v 1.30 2021/02/19 17:46:53 nia Exp $ */ /* @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: patch.c,v 1.29 2011/09/06 18:25:14 joerg Exp $"); +__RCSID("$NetBSD: patch.c,v 1.30 2021/02/19 17:46:53 nia Exp $"); #include <sys/types.h> #include <sys/stat.h> @@ -197,17 +197,18 @@ main(int argc, char *argv[]) else simple_backup_suffix = ORIGEXT; + if ((v = getenv("PATCH_VERSION_CONTROL")) == NULL) + v = getenv("VERSION_CONTROL"); + if (v != NULL) + backup_type = get_version(v); + /* parse switches */ Argc = argc; Argv = argv; get_some_switches(); - if (backup_type == none) { - if ((v = getenv("PATCH_VERSION_CONTROL")) == NULL) - v = getenv("VERSION_CONTROL"); - if (v != NULL || !posix) - backup_type = get_version(v); /* OK to pass NULL. */ - } + if (backup_type == undefined) + backup_type = posix ? none : numbered_existing; /* make sure we clean up /tmp in case of disaster */ set_signals(0); @@ -493,7 +494,7 @@ get_some_switches(void) while ((ch = getopt_long(Argc, Argv, options, longopts, NULL)) != -1) { switch (ch) { case 'b': - if (backup_type == none) + if (backup_type == undefined) backup_type = numbered_existing; if (optarg == NULL) break; |
