mirror of
https://https.git.savannah.gnu.org/git/diffutils.git
synced 2026-01-27 09:54:25 +00:00
* bootstrap.conf (gnulib_modules): Add c-file-type and remove file-type. * po/POTFILES.in: Add lib/c-file-type.c, remove lib/file-type.c * src/diff.c (O_PATH_DEFINED): New constant. (detype_from_mode): Remove; no longer used. (dir_p): Go back to the old way of using S_ISDIR. (compare_prepped_files): Use filetype and stat macros, not detype. Pass symlink fd and "" to careadlinkat if available, as that avoids a race. Test for dir vs file earlier, so that a missing file is treated consistently with dir/file vs file. (compare_files): New arg DETYPE replacing the old DETYPE0 and DETYPE1. All uses changed. st_size for nonexistent files is 0, not -1. Set up .filetype, not .detype, as .filetype is finer-grained. Open symlinks with O_PATH on GNU/Linux, since we can then use readlinkat on the resulting file descriptor and this avoids a race. * src/diff.h (struct file_data): Remove detype member. Add filetype member; it’s finer-grained. All uses changed. * tests/no-dereference: Add test that the previous commit failed.