Mercurial > gnulib
view doc/stat-size.texi @ 40214:452ab00796c7
Fix undefined behaviour.
* lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Case x to
'unsigned int', to avoid shift operations on 'int'.
* lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
* tests/test-count-leading-zeros.c (main): Use a random number that has
as many bits as TYPE, not only 2*15 or 2*31 bits.
* tests/test-count-trailing-zeros.c (main): Likewise.
* tests/test-count-one-bits.c (main): Likewise.
* tests/test-memmem.c: Don't include "null-ptr.h".
(main): Use zerosize_ptr() instead of null_ptr().
* modules/memmem-tests (Files): Remove tests/null-ptr.h.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 09 Mar 2019 20:32:25 +0100 |
parents | 16c748720b01 |
children |
line wrap: on
line source
@node stat-size @section stat-size The @code{stat-size} module provides a small number of macros intended for interpreting the file size information in an instance of @code{struct stat}. @c We deliberately don't document DEV_BSIZE (it looks to James @c Youngman as if the ST_NBLOCKSIZE macro should be used instead). @findex ST_NBLOCKS @findex ST_NBLOCKSIZE @cindex block size On POSIX systems, the @code{st_blocks} member of @code{struct stat} contains the number of disk blocks occupied by a file. The @code{ST_NBLOCKS} macro is used to estimate this quantity on systems which don't actually have @code{st_blocks}. Each of these blocks contains @code{ST_NBLOCKSIZE} bytes. @findex ST_BLKSIZE The value of @code{ST_NBLOCKSIZE} is often quite small, small enough that performing I/O in chunks that size would be inefficient. @code{ST_BLKSIZE} is the I/O block size recommended for I/O to this file. This is not guaranteed to give optimum performance, but it should be reasonably efficient.