Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09dd3e57 authored by Brian Swetland's avatar Brian Swetland
Browse files

make df more readable

Filesystem             Size   Used   Free   Blksize
/dev                   164M    32K   164M   4096
/system                442M   117M   325M   4096
/cache                 492M     8M   483M   4096
/data                  984M    59M   925M   4096
/mnt/sdcard             12G    27M    12G   32768

Change-Id: I9a84b7b84ae528ee5cf0b1e92a8bee032b87703b
parent 4012c0a4
Loading
Loading
Loading
Loading
+24 −8
Original line number Diff line number Diff line
@@ -6,6 +6,21 @@

static int ok = EXIT_SUCCESS;

static void printsize(long long n)
{
    char unit = 'K';
    n /= 1024;
    if (n > 1024) {
        n /= 1024;
        unit = 'M';
    }
    if (n > 1024) {
        n /= 1024;
        unit = 'G';
    }
    printf("%4lld%c", n, unit);
}

static void df(char *s, int always) {
    struct statfs st;

@@ -15,17 +30,18 @@ static void df(char *s, int always) {
    } else {
        if (st.f_blocks == 0 && !always)
            return;        

        printf("%s: %lldK total, %lldK used, %lldK available (block size %d)\n",
               s,
               ((long long)st.f_blocks * (long long)st.f_bsize) / 1024,
               ((long long)(st.f_blocks - (long long)st.f_bfree) * st.f_bsize) / 1024,
               ((long long)st.f_bfree * (long long)st.f_bsize) / 1024,
               (int) st.f_bsize);
        printf("%-20s  ", s);
        printsize((long long)st.f_blocks * (long long)st.f_bsize);
        printf("  ");
        printsize((long long)(st.f_blocks - (long long)st.f_bfree) * st.f_bsize);
        printf("  ");
        printsize((long long)st.f_bfree * (long long)st.f_bsize);
        printf("   %d\n", (int) st.f_bsize);
    }
}

int df_main(int argc, char *argv[]) {
    printf("Filesystem             Size   Used   Free   Blksize\n");
    if (argc == 1) {
        char s[2000];
        FILE *f = fopen("/proc/mounts", "r");