From 68f4c238caeb10b8ed597de7bf2e8e4764bbda33 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 4 Sep 2023 23:04:47 -0700 Subject: maint: prefer psame_inode, PSAME_INODE, STP_* Prefer psame_inode, PSAME_INODE, STP_NBLOCKS, and STP_BLKSIZE, which take addresses of objects, to their counterparts that take the whole objects. In some cases the whole objects might not be initialized, which would be undefined behavior strictly speaking. * gl/lib/root-dev-ino.h (ROOT_DEV_INO_CHECK): * src/cp-hash.c (src_to_dest_compare): * src/ls.c (dev_ino_compare): * src/pwd.c (robust_getcwd): Prefer PSAME_INODE to SAME_INODE. * src/chown-core.c (restricted_chown): * src/copy.c (copy_reg, same_file_ok, source_is_dst_backup) (copy_internal): * src/ln.c (do_link): * src/pwd.c (logical_getcwd): * src/sort.c (avoid_trashing_input): * src/split.c (create): * src/stat.c (find_bind_mount): Prefer psame_inode to SAME_INODE. * src/copy.c (infer_scantype): * src/du.c (process_file): * src/ls.c (gobble_file, print_long_format) (print_file_name_and_frills, length_of_file_name_and_frills): * src/stat.c (print_stat): Prefer STP_NBLOCKS to ST_NBLOCKS. * src/copy.c (copy_reg): * src/head.c (elide_tail_bytes_file, elide_tail_lines_file): * src/ioblksize.h (io_blksize): * src/od.c (skip): * src/shred.c (do_wipefd): * src/stat.c (print_stat): * src/tail.c (tail_bytes): * src/truncate.c (do_ftruncate): * src/wc.c (wc): Prefer STP_BLKSIZE to ST_BLKSIZE. * src/ioblksize.h (io_blksize): Arg is now struct stat const *, not struct stat. All callers changed. --- src/split.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/split.c') diff --git a/src/split.c b/src/split.c index a32b2d93e..d2cd23234 100644 --- a/src/split.c +++ b/src/split.c @@ -486,7 +486,7 @@ create (char const *name) struct stat out_stat_buf; if (fstat (fd, &out_stat_buf) != 0) error (EXIT_FAILURE, errno, _("failed to stat %s"), quoteaf (name)); - if (SAME_INODE (in_stat_buf, out_stat_buf)) + if (psame_inode (&in_stat_buf, &out_stat_buf)) error (EXIT_FAILURE, 0, _("%s would overwrite input; aborting"), quoteaf (name)); bool regularish @@ -1626,7 +1626,7 @@ main (int argc, char **argv) if (in_blk_size == 0) { - in_blk_size = io_blksize (in_stat_buf); + in_blk_size = io_blksize (&in_stat_buf); if (SYS_BUFSIZE_MAX < in_blk_size) in_blk_size = SYS_BUFSIZE_MAX; } -- cgit v1.2.3