Browse Source

Replace getorder() by ffsl()

master
Arun Prakash Jana 7 years ago
parent
commit
9b72fcba03
No known key found for this signature in database GPG Key ID: A75979F35C080412
1 changed files with 2 additions and 18 deletions
  1. +2
    -18
      nnn.c

+ 2
- 18
nnn.c View File

@@ -1609,22 +1609,6 @@ show_stats(char *fpath, char *fname, struct stat *sb)
return 0; return 0;
} }


/*
* Get the order of 2 for this size
* In brief - return the number of trailing zeroes
*/
static int
getorder(size_t size)
{
static int count, mask;

for (mask = 1, count = 0; count < 32; mask <<= 1, ++count)
if ((size & mask) != 0)
return count;

return 32;
}

static size_t static size_t
get_fs_free(const char *path) get_fs_free(const char *path)
{ {
@@ -1633,7 +1617,7 @@ get_fs_free(const char *path)
if (statvfs(path, &svb) == -1) if (statvfs(path, &svb) == -1)
return 0; return 0;
else else
return svb.f_bavail << getorder(svb.f_frsize);
return svb.f_bavail << (ffsl(svb.f_frsize) - 1);
} }


static size_t static size_t
@@ -1644,7 +1628,7 @@ get_fs_capacity(const char *path)
if (statvfs(path, &svb) == -1) if (statvfs(path, &svb) == -1)
return 0; return 0;
else else
return svb.f_blocks << getorder(svb.f_bsize);
return svb.f_blocks << (ffsl(svb.f_bsize) - 1);
} }


static int static int


Loading…
Cancel
Save