diff options
| -rw-r--r-- | src/part/localLister.cpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/part/localLister.cpp b/src/part/localLister.cpp index 7e0fb8a..94f6cf0 100644 --- a/src/part/localLister.cpp +++ b/src/part/localLister.cpp @@ -81,26 +81,18 @@ namespace Filelight #endif /* !_POSIX_SOURCE && BSIZE */ #else /* HAVE_STRUCT_STAT_ST_BLOCKS */ /* Some systems, like Sequents, return st_blksize of 0 on pipes. - Also, when running `rsh hpux11-system cat any-file', cat would - determine that the output stream had an st_blksize of 2147421096. So here we arbitrarily limit the `optimal' block size to 4MB. If anyone knows of a system for which the legitimate value for st_blksize can exceed 4MB, please report it as a bug in this code. */ #define ST_BLKSIZE(statbuf) ((0 < (statbuf).st_blksize && (statbuf).st_blksize <= (1 << 22)) /* 4MiB */ ? (statbuf).st_blksize : DEV_BSIZE) - #if defined hpux || defined __hpux__ || defined __hpux - /* HP-UX counts st_blocks in 1024-byte units. - This loses when mixing HP-UX and BSD filesystems with NFS. */ - #define ST_NBLOCKSIZE 1024 - #else /* !hpux */ - #if defined _AIX && defined _I386 - /* AIX PS/2 counts st_blocks in 4K units. */ - #define ST_NBLOCKSIZE (4 * 1024) - #else /* not AIX PS/2 */ - #if defined _CRAY - #define ST_NBLOCKS(statbuf) (S_ISREG ((statbuf).st_mode) || S_ISDIR ((statbuf).st_mode) ? (statbuf).st_blocks * ST_BLKSIZE(statbuf)/ST_NBLOCKSIZE : 0) - #endif /* _CRAY */ - #endif /* not AIX PS/2 */ - #endif /* !hpux */ + #if defined _AIX && defined _I386 + /* AIX PS/2 counts st_blocks in 4K units. */ + #define ST_NBLOCKSIZE (4 * 1024) + #else /* not AIX PS/2 */ + #if defined _CRAY + #define ST_NBLOCKS(statbuf) (S_ISREG ((statbuf).st_mode) || S_ISDIR ((statbuf).st_mode) ? (statbuf).st_blocks * ST_BLKSIZE(statbuf)/ST_NBLOCKSIZE : 0) + #endif /* _CRAY */ + #endif /* not AIX PS/2 */ #endif /* HAVE_STRUCT_STAT_ST_BLOCKS */ #ifndef ST_NBLOCKS |
