summaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2019-01-17 16:41:13 -0800
committerSascha Hauer <s.hauer@pengutronix.de>2019-01-24 08:24:05 +0100
commit4ebb55e96177a4b5f05e1407e01095cb4924d0a5 (patch)
treecc5eedd4205435eaa02ffa20b6d886167c3981c5 /commands
parentf24245742636ef9996aae66e92244aed659b7d72 (diff)
downloadbarebox-4ebb55e96177a4b5f05e1407e01095cb4924d0a5.tar.gz
barebox-4ebb55e96177a4b5f05e1407e01095cb4924d0a5.tar.xz
ls: Adjust amount of space allocated for filesize
Maximum file size on 64-bit system is 2^63-1 (9223372036854775807), which takes more that 14 characters of space. In order to keep things properly aligned adjust that spacing to 20 on 64-bit platforms. Before: ls -l /dev/ d--------- 0 . d--------- 0 .. crw------- 16384 dds-eeprom crw------- 256 e1000-invm0 crw------- 16384 eeprom0 cr-------- 0 full crw------- 2048 imx-ocotp crw------- 16384 main-eeprom crw------- 64 mdio0-phy00 crw------- 9223372036854775807 mem c-w------- 0 netconsole-1 c-w------- 0 null crw------- 256060514304 nvme0n1 cr-------- 0 prng crw------- 4294967296 ram0 c-w------- 0 serial0-1 cr-------- 0 zero After: ls -l /dev/ d--------- 0 . d--------- 0 .. crw------- 16384 dds-eeprom crw------- 256 e1000-invm0 crw------- 16384 eeprom0 cr-------- 0 full crw------- 2048 imx-ocotp crw------- 16384 main-eeprom crw------- 64 mdio0-phy00 crw------- 9223372036854775807 mem c-w------- 0 netconsole-1 c-w------- 0 null crw------- 256060514304 nvme0n1 cr-------- 0 prng crw------- 4294967296 ram0 c-w------- 0 serial0-1 cr-------- 0 zero Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands')
-rw-r--r--commands/ls.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/commands/ls.c b/commands/ls.c
index e54991862d..e5e37d75c5 100644
--- a/commands/ls.c
+++ b/commands/ls.c
@@ -26,6 +26,15 @@
#include <getopt.h>
#include <stringlist.h>
+/*
+ * SIZELEN = strlen(itoa(MAX_LFS_FILESIZE)) + 1;
+ */
+#ifdef CONFIG_CPU_64
+#define SIZELEN 20
+#else
+#define SIZELEN 14
+#endif
+
static void ls_one(const char *path, const char* fullname)
{
char modestr[11];
@@ -38,7 +47,8 @@ static void ls_one(const char *path, const char* fullname)
return;
mkmodestr(s.st_mode, modestr);
- printf("%s %14llu %*.*s", modestr, s.st_size, namelen, namelen, path);
+ printf("%s %*llu %*.*s", modestr, SIZELEN, s.st_size, namelen,
+ namelen, path);
if (S_ISLNK(s.st_mode)) {
char realname[PATH_MAX];