]> Sergey Matveev's repositories - nnn.git/commitdiff
Make space for 512TiB in blocks
authorArun Prakash Jana <engineerarun@gmail.com>
Wed, 12 May 2021 17:49:22 +0000 (23:19 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Wed, 12 May 2021 19:07:04 +0000 (00:37 +0530)
misc/musl/musl-static-ubuntu.sh
src/nnn.c

index b05879104a2116e3a18a11716a2d69142c4209f5..b8b0aeb734ba5ac16f1099ed8474dd78b8bc78a7 100755 (executable)
@@ -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
index 67350ae1bf5993e149e72a3a8748726c71800b26..ba48fabab33d8eccefaecc2835d70073cb46de37 100644 (file)
--- 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 */