aboutsummaryrefslogtreecommitdiffstats
path: root/src/wc.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2023-09-04 23:04:47 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2023-09-04 23:12:02 -0700
commit68f4c238caeb10b8ed597de7bf2e8e4764bbda33 (patch)
tree34e44e20e6fcf6cf7d3b15b0997f9cdec1592bad /src/wc.c
parentbuild: update gnulib submodule to latest (diff)
downloadcoreutils-68f4c238caeb10b8ed597de7bf2e8e4764bbda33.tar.gz
coreutils-68f4c238caeb10b8ed597de7bf2e8e4764bbda33.zip
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.
Diffstat (limited to 'src/wc.c')
-rw-r--r--src/wc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/wc.c b/src/wc.c
index 41779f55d..6b802f5c7 100644
--- a/src/wc.c
+++ b/src/wc.c
@@ -409,7 +409,8 @@ wc (int fd, char const *file_x, struct fstatus *fstatus, off_t current_pos)
}
else
{
- off_t hi_pos = end_pos - end_pos % (ST_BLKSIZE (fstatus->st) + 1);
+ off_t hi_pos = (end_pos
+ - end_pos % (STP_BLKSIZE (&fstatus->st) + 1));
if (0 <= current_pos && current_pos < hi_pos
&& 0 <= lseek (fd, hi_pos, SEEK_CUR))
bytes = hi_pos - current_pos;