From: Arun Prakash Jana Date: Wed, 12 May 2021 17:49:22 +0000 (+0530) Subject: Make space for 512TiB in blocks X-Git-Tag: v4.1~73 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=448a4203bc43c3cba2532b9c000a599d81efd5f2;p=nnn.git Make space for 512TiB in blocks --- 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 */