mirror of
https://github.com/jarun/nnn.git
synced 2024-11-24 20:01:27 +00:00
Fix BLK_SHIFT may be wrong in some platforms #128
This commit is contained in:
parent
ff0999b801
commit
7213b226d7
17
src/nnn.c
17
src/nnn.c
|
@ -417,6 +417,18 @@ static uchar crc8fast(uchar const message[], size_t n)
|
||||||
return remainder;
|
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 */
|
/* Messages show up at the bottom */
|
||||||
static void printmsg(const char *msg)
|
static void printmsg(const char *msg)
|
||||||
{
|
{
|
||||||
|
@ -2905,7 +2917,7 @@ nochange:
|
||||||
cfg.blkorder ^= 1;
|
cfg.blkorder ^= 1;
|
||||||
nftw_fn = &sum_bsizes;
|
nftw_fn = &sum_bsizes;
|
||||||
cfg.apparentsz = 0;
|
cfg.apparentsz = 0;
|
||||||
BLK_SHIFT = 9;
|
BLK_SHIFT = get_blk_shift();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cfg.blkorder) {
|
if (cfg.blkorder) {
|
||||||
|
@ -3399,6 +3411,9 @@ int main(int argc, char *argv[])
|
||||||
char *ipath = NULL;
|
char *ipath = NULL;
|
||||||
int opt;
|
int opt;
|
||||||
|
|
||||||
|
// Get platform block shift
|
||||||
|
BLK_SHIFT = get_blk_shift();
|
||||||
|
|
||||||
/* Confirm we are in a terminal */
|
/* Confirm we are in a terminal */
|
||||||
if (!isatty(0) || !isatty(1)) {
|
if (!isatty(0) || !isatty(1)) {
|
||||||
fprintf(stderr, "stdin or stdout is not a tty\n");
|
fprintf(stderr, "stdin or stdout is not a tty\n");
|
||||||
|
|
Loading…
Reference in a new issue