From 448a4203bc43c3cba2532b9c000a599d81efd5f2 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Wed, 12 May 2021 23:19:22 +0530 Subject: [PATCH] Make space for 512TiB in blocks --- misc/musl/musl-static-ubuntu.sh | 2 +- src/nnn.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/misc/musl/musl-static-ubuntu.sh b/misc/musl/musl-static-ubuntu.sh index b0587910..b8b0aeb7 100755 --- a/misc/musl/musl-static-ubuntu.sh +++ b/misc/musl/musl-static-ubuntu.sh @@ -33,7 +33,7 @@ cp -v libcurses/libcurses.a libterminfo/libterminfo.a libs/ # Compile nnn cd .. [ -e "./netbsd-curses" ] || rm "$BIN" -musl-gcc -O3 -DNORL -DNOMOUSE -Wall -Wextra -Wshadow -I./netbsd-curses/libcurses -o "$BIN" src/nnn.c -Wl,-Bsymbolic-functions -L./netbsd-curses/libs -lcurses -lterminfo -static +musl-gcc -O3 -DNORL -DNOMOUSE -std=c11 -Wall -Wextra -Wshadow -I./netbsd-curses/libcurses -o "$BIN" src/nnn.c -Wl,-Bsymbolic-functions -L./netbsd-curses/libs -lcurses -lterminfo -static strip "$BIN" # Run the binary with it selected diff --git a/src/nnn.c b/src/nnn.c index 67350ae1..ba48faba 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -252,13 +252,15 @@ typedef struct entry { uint_t nsec; /* 4 bytes (enough to store nanosec) */ mode_t mode; /* 4 bytes */ off_t size; /* 8 bytes */ - uint_t blocks; /* number of 512B blocks allocated; 4 bytes (enough to store 2048TiB) */ + struct { + ulong_t blocks : 40; /* 8 bytes (enough for 512 TiB in 512B blocks allocated) */ + ulong_t nlen : 16; /* 2 bytes (length of file name) */ + ulong_t flags : 8; /* 1 byte (flags specific to the file) */ + }; #ifndef NOUG uid_t uid; /* 4 bytes */ gid_t gid; /* 4 bytes */ #endif - ushort_t nlen; /* Length of file name */ - uchar_t flags; /* Flags specific to the file */ } *pEntry; /* Key-value pairs from env */