diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2019-09-11 22:55:54 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2019-09-11 22:55:54 -0400 |
commit | 4f80c17192f2b28c96a489969d4435151d68d0ce (patch) | |
tree | 07dc1ca26a45c382578b80a6e0bcb85b50d27a2f | |
parent | 7b6bbf9a65226f2c37a15a05f9185b32d51355f7 (diff) | |
download | bfs-4f80c17192f2b28c96a489969d4435151d68d0ce.tar.xz |
parse: Don't treat -mount differently from -xdev yet
The new POSIX version with -mount isn't out yet, so there's no point in
conforming to a non-existent document while breaking compatibility with
GNU find, which hasn't changed yet either. But a warning is added for
the future incompatibility. This patch can be reverted to re-enable the
feature.
-rw-r--r-- | parse.c | 9 | ||||
-rw-r--r-- | tests/test_L_mount.out | 3 | ||||
-rw-r--r-- | tests/test_mount.out | 1 |
3 files changed, 12 insertions, 1 deletions
@@ -1543,7 +1543,14 @@ static struct expr *parse_ls(struct parser_state *state, int arg1, int arg2) { * Parse -mount. */ static struct expr *parse_mount(struct parser_state *state, int arg1, int arg2) { - state->cmdline->flags |= BFTW_MOUNT; + if (state->warn) { + parse_warning(state, + "In the future, %s will skip mount points entirely, unlike\n" + "-xdev, due to http://austingroupbugs.net/view.php?id=1133.\n\n", + state->argv[0]); + } + + state->cmdline->flags |= BFTW_XDEV; state->mount_arg = state->argv[0]; return parse_nullary_option(state); } diff --git a/tests/test_L_mount.out b/tests/test_L_mount.out index ed0e9a1..2c3c590 100644 --- a/tests/test_L_mount.out +++ b/tests/test_L_mount.out @@ -1,2 +1,5 @@ scratch scratch/foo +scratch/mnt +scratch/foo/bar +scratch/foo/qux diff --git a/tests/test_mount.out b/tests/test_mount.out index 2425675..005bdcf 100644 --- a/tests/test_mount.out +++ b/tests/test_mount.out @@ -1,3 +1,4 @@ scratch scratch/foo +scratch/mnt scratch/foo/bar |