]> Sergey Matveev's repositories - nnn.git/commitdiff
Fix BLK_SHIFT may be wrong in some platforms #128
authorfengyichui <fengyichui@gmail.com>
Thu, 15 Nov 2018 09:56:35 +0000 (17:56 +0800)
committerfengyichui <fengyichui@gmail.com>
Thu, 15 Nov 2018 09:56:35 +0000 (17:56 +0800)
src/nnn.c

index 047c0ae16bde329ab1adaf9465f9097a7d70a10d..80874bbf2268ceb52e0a59b854b4e4f0f23792ef 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -417,18 +417,6 @@ static uchar crc8fast(uchar const message[], size_t n)
        return remainder;
 }
 
-/* Get platform block shift */
-static int get_blk_shift(void)
-{
-       int shift;
-       for (shift = 0; shift < 32; ++shift)
-       {
-               if ((1<<shift) & S_BLKSIZE)
-                       break;
-       }
-       return shift;
-}
-
 /* Messages show up at the bottom */
 static void printmsg(const char *msg)
 {
@@ -2917,7 +2905,7 @@ nochange:
                                        cfg.blkorder ^= 1;
                                nftw_fn = &sum_bsizes;
                                cfg.apparentsz = 0;
-                               BLK_SHIFT = get_blk_shift();
+                               BLK_SHIFT = ffs(S_BLKSIZE) - 1;
                        }
 
                        if (cfg.blkorder) {
@@ -3412,7 +3400,7 @@ int main(int argc, char *argv[])
        int opt;
 
        // Get platform block shift
-       BLK_SHIFT = get_blk_shift();
+       BLK_SHIFT = ffs(S_BLKSIZE) - 1;
 
        /* Confirm we are in a terminal */
        if (!isatty(0) || !isatty(1)) {