aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2000-09-21 02:23:30 +0000
committerEric Andersen <andersen@codepoet.org>2000-09-21 02:23:30 +0000
commit8a2e56c5dfc41f6946e36234eef4df559286db05 (patch)
tree23a5f54bcbf8aea8f08ae85f8397b7add91bf79f
parent350b3f9236b29514f3755af2b4b2957475abf829 (diff)
downloadbusybox-w32-8a2e56c5dfc41f6946e36234eef4df559286db05.tar.gz
busybox-w32-8a2e56c5dfc41f6946e36234eef4df559286db05.tar.bz2
busybox-w32-8a2e56c5dfc41f6946e36234eef4df559286db05.zip
Large file >2Gib support.
-rw-r--r--Makefile14
-rw-r--r--coreutils/ls.c8
-rw-r--r--ls.c8
-rw-r--r--more.c4
-rw-r--r--util-linux/more.c4
5 files changed, 38 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 278887f36..6a9c694fa 100644
--- a/Makefile
+++ b/Makefile
@@ -40,6 +40,16 @@ DODEBUG = false
40# Do not enable this for production builds... 40# Do not enable this for production builds...
41DODMALLOC = false 41DODMALLOC = false
42 42
43# If you want large file summit support, turn this on.
44# This has no effect if you don't have a kernel with lfs
45# support, and a system with libc-2.1.3 or later.
46# Some of the programs that can benefit from lfs support
47# are dd, gzip, mount, tar, and mkfs_minix.
48# LFS allows you to use the above programs for files
49# larger than 2GB!
50DOLFS = false
51
52
43# If you are running a cross compiler, you may want to set this 53# If you are running a cross compiler, you may want to set this
44# to something more interesting... 54# to something more interesting...
45CROSS = #powerpc-linux- 55CROSS = #powerpc-linux-
@@ -63,6 +73,10 @@ OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&
63 73
64WARNINGS = -Wall 74WARNINGS = -Wall
65 75
76ifeq ($(DOLFS),true)
77 # For large file summit support
78 CFLAGS+=-D_FILE_OFFSET_BITS=64
79endif
66ifeq ($(DODMALLOC),true) 80ifeq ($(DODMALLOC),true)
67 # For testing mem leaks with dmalloc 81 # For testing mem leaks with dmalloc
68 CFLAGS+=-DDMALLOC 82 CFLAGS+=-DDMALLOC
diff --git a/coreutils/ls.c b/coreutils/ls.c
index 03fed5478..b818003a8 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -532,7 +532,11 @@ int list_single(struct dnode *dn)
532 column += 8; 532 column += 8;
533 break; 533 break;
534 case LIST_BLOCKS: 534 case LIST_BLOCKS:
535#if _FILE_OFFSET_BITS == 64
536 fprintf(stdout, "%4lld ", dn->dstat.st_blocks>>1);
537#else
535 fprintf(stdout, "%4ld ", dn->dstat.st_blocks>>1); 538 fprintf(stdout, "%4ld ", dn->dstat.st_blocks>>1);
539#endif
536 column += 5; 540 column += 5;
537 break; 541 break;
538 case LIST_MODEBITS: 542 case LIST_MODEBITS:
@@ -578,7 +582,11 @@ int list_single(struct dnode *dn)
578 if (S_ISBLK(dn->dstat.st_mode) || S_ISCHR(dn->dstat.st_mode)) { 582 if (S_ISBLK(dn->dstat.st_mode) || S_ISCHR(dn->dstat.st_mode)) {
579 fprintf(stdout, "%4d, %3d ", (int)MAJOR(dn->dstat.st_rdev), (int)MINOR(dn->dstat.st_rdev)); 583 fprintf(stdout, "%4d, %3d ", (int)MAJOR(dn->dstat.st_rdev), (int)MINOR(dn->dstat.st_rdev));
580 } else { 584 } else {
585#if _FILE_OFFSET_BITS == 64
586 fprintf(stdout, "%9lld ", dn->dstat.st_size);
587#else
581 fprintf(stdout, "%9ld ", dn->dstat.st_size); 588 fprintf(stdout, "%9ld ", dn->dstat.st_size);
589#endif
582 } 590 }
583 column += 10; 591 column += 10;
584 break; 592 break;
diff --git a/ls.c b/ls.c
index 03fed5478..b818003a8 100644
--- a/ls.c
+++ b/ls.c
@@ -532,7 +532,11 @@ int list_single(struct dnode *dn)
532 column += 8; 532 column += 8;
533 break; 533 break;
534 case LIST_BLOCKS: 534 case LIST_BLOCKS:
535#if _FILE_OFFSET_BITS == 64
536 fprintf(stdout, "%4lld ", dn->dstat.st_blocks>>1);
537#else
535 fprintf(stdout, "%4ld ", dn->dstat.st_blocks>>1); 538 fprintf(stdout, "%4ld ", dn->dstat.st_blocks>>1);
539#endif
536 column += 5; 540 column += 5;
537 break; 541 break;
538 case LIST_MODEBITS: 542 case LIST_MODEBITS:
@@ -578,7 +582,11 @@ int list_single(struct dnode *dn)
578 if (S_ISBLK(dn->dstat.st_mode) || S_ISCHR(dn->dstat.st_mode)) { 582 if (S_ISBLK(dn->dstat.st_mode) || S_ISCHR(dn->dstat.st_mode)) {
579 fprintf(stdout, "%4d, %3d ", (int)MAJOR(dn->dstat.st_rdev), (int)MINOR(dn->dstat.st_rdev)); 583 fprintf(stdout, "%4d, %3d ", (int)MAJOR(dn->dstat.st_rdev), (int)MINOR(dn->dstat.st_rdev));
580 } else { 584 } else {
585#if _FILE_OFFSET_BITS == 64
586 fprintf(stdout, "%9lld ", dn->dstat.st_size);
587#else
581 fprintf(stdout, "%9ld ", dn->dstat.st_size); 588 fprintf(stdout, "%9ld ", dn->dstat.st_size);
589#endif
582 } 590 }
583 column += 10; 591 column += 10;
584 break; 592 break;
diff --git a/more.c b/more.c
index 12168b519..45b7c1274 100644
--- a/more.c
+++ b/more.c
@@ -123,7 +123,11 @@ extern int more_main(int argc, char **argv)
123 lines = 0; 123 lines = 0;
124 len = fprintf(stdout, "--More-- "); 124 len = fprintf(stdout, "--More-- ");
125 if (file != stdin) { 125 if (file != stdin) {
126#if _FILE_OFFSET_BITS == 64
127 len += fprintf(stdout, "(%d%% of %lld bytes)",
128#else
126 len += fprintf(stdout, "(%d%% of %ld bytes)", 129 len += fprintf(stdout, "(%d%% of %ld bytes)",
130#endif
127 (int) (100 * 131 (int) (100 *
128 ((double) ftell(file) / 132 ((double) ftell(file) /
129 (double) st.st_size)), 133 (double) st.st_size)),
diff --git a/util-linux/more.c b/util-linux/more.c
index 12168b519..45b7c1274 100644
--- a/util-linux/more.c
+++ b/util-linux/more.c
@@ -123,7 +123,11 @@ extern int more_main(int argc, char **argv)
123 lines = 0; 123 lines = 0;
124 len = fprintf(stdout, "--More-- "); 124 len = fprintf(stdout, "--More-- ");
125 if (file != stdin) { 125 if (file != stdin) {
126#if _FILE_OFFSET_BITS == 64
127 len += fprintf(stdout, "(%d%% of %lld bytes)",
128#else
126 len += fprintf(stdout, "(%d%% of %ld bytes)", 129 len += fprintf(stdout, "(%d%% of %ld bytes)",
130#endif
127 (int) (100 * 131 (int) (100 *
128 ((double) ftell(file) / 132 ((double) ftell(file) /
129 (double) st.st_size)), 133 (double) st.st_size)),