Pārlūkot izejas kodu

Fix BLK_SHIFT may be wrong in some platforms #128

master
fengyichui pirms 5 gadiem
vecāks
revīzija
7213b226d7
1 mainītis faili ar 16 papildinājumiem un 1 dzēšanām
  1. +16
    -1
      src/nnn.c

+ 16
- 1
src/nnn.c Parādīt failu

@@ -417,6 +417,18 @@ 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)
{
@@ -2905,7 +2917,7 @@ nochange:
cfg.blkorder ^= 1;
nftw_fn = &sum_bsizes;
cfg.apparentsz = 0;
BLK_SHIFT = 9;
BLK_SHIFT = get_blk_shift();
}

if (cfg.blkorder) {
@@ -3399,6 +3411,9 @@ int main(int argc, char *argv[])
char *ipath = NULL;
int opt;

// Get platform block shift
BLK_SHIFT = get_blk_shift();

/* Confirm we are in a terminal */
if (!isatty(0) || !isatty(1)) {
fprintf(stderr, "stdin or stdout is not a tty\n");


Notiek ielāde…
Atcelt
Saglabāt