| 1 | diff -u -r ../coreutils-8.26/lib/stat-size.h ./lib/stat-size.h |
| 2 | --- ../coreutils-8.26/lib/stat-size.h 2016-07-15 15:47:39.000000000 -0400 |
| 3 | +++ ./lib/stat-size.h 2017-01-09 16:49:31.758957157 -0500 |
| 4 | @@ -71,9 +71,13 @@ |
| 5 | suffice, since "cat" sometimes multiplies the result by 4.) If |
| 6 | anyone knows of a system for which this limit is too small, please |
| 7 | report it as a bug in this code. */ |
| 8 | -# define ST_BLKSIZE(statbuf) ((0 < (statbuf).st_blksize \ |
| 9 | +/* Termux patch: Cast to long since on 32-bit Android this otherwise |
| 10 | + results in an unsigned long, which breaks comparison with e.g. |
| 11 | + signed off_t in tail.c, see: |
| 12 | + https://github.com/termux/termux-app/issues/233 */ |
| 13 | +# define ST_BLKSIZE(statbuf) ((long) ((0 < (statbuf).st_blksize \ |
| 14 | && (statbuf).st_blksize <= ((size_t)-1) / 8 + 1) \ |
| 15 | - ? (statbuf).st_blksize : DEV_BSIZE) |
| 16 | + ? (statbuf).st_blksize : DEV_BSIZE)) |
| 17 | # if defined hpux || defined __hpux__ || defined __hpux |
| 18 | /* HP-UX counts st_blocks in 1024-byte units. |
| 19 | This loses when mixing HP-UX and BSD file systems with NFS. */ |