Symlinks were always reported as using 0 blocks.
authorJim Meyering <jim@meyering.net>
Sat, 31 Aug 2002 16:04:57 +0000 (16:04 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 31 Aug 2002 16:04:57 +0000 (16:04 +0000)
(ST_NBLOCKS): Don't depend on file type.
This reverts the change of 2000-01-30.
Based on a report and patch from Neil Brown via Michael Stone.

src/system.h

index a2c08d2f6b8266dc4ab7777e2b4d39241041cb34..edf242116613082056ec1f68fc7692f45d23d2d2 100644 (file)
@@ -246,9 +246,7 @@ typedef enum {false = 0, true = 1} bool;
 # define ST_BLKSIZE(statbuf) DEV_BSIZE
 # if defined _POSIX_SOURCE || !defined BSIZE /* fileblocks.c uses BSIZE.  */
 #  define ST_NBLOCKS(statbuf) \
-  (S_ISREG ((statbuf).st_mode) \
-   || S_ISDIR ((statbuf).st_mode) \
-   ? (statbuf).st_size / ST_NBLOCKSIZE + ((statbuf).st_size % ST_NBLOCKSIZE != 0) : 0)
+  ((statbuf).st_size / ST_NBLOCKSIZE + ((statbuf).st_size % ST_NBLOCKSIZE != 0))
 # else /* !_POSIX_SOURCE && BSIZE */
 #  define ST_NBLOCKS(statbuf) \
   (S_ISREG ((statbuf).st_mode) \
@@ -279,10 +277,7 @@ typedef enum {false = 0, true = 1} bool;
 #endif /* HAVE_STRUCT_STAT_ST_BLOCKS */
 
 #ifndef ST_NBLOCKS
-# define ST_NBLOCKS(statbuf) \
-  (S_ISREG ((statbuf).st_mode) \
-   || S_ISDIR ((statbuf).st_mode) \
-   ? (statbuf).st_blocks : 0)
+# define ST_NBLOCKS(statbuf) ((statbuf).st_blocks)
 #endif
 
 #ifndef ST_NBLOCKSIZE