Large file >2Gib support.
This commit is contained in:
parent
350b3f9236
commit
8a2e56c5df
14
Makefile
14
Makefile
@ -40,6 +40,16 @@ DODEBUG = false
|
||||
# Do not enable this for production builds...
|
||||
DODMALLOC = false
|
||||
|
||||
# If you want large file summit support, turn this on.
|
||||
# This has no effect if you don't have a kernel with lfs
|
||||
# support, and a system with libc-2.1.3 or later.
|
||||
# Some of the programs that can benefit from lfs support
|
||||
# are dd, gzip, mount, tar, and mkfs_minix.
|
||||
# LFS allows you to use the above programs for files
|
||||
# larger than 2GB!
|
||||
DOLFS = false
|
||||
|
||||
|
||||
# If you are running a cross compiler, you may want to set this
|
||||
# to something more interesting...
|
||||
CROSS = #powerpc-linux-
|
||||
@ -63,6 +73,10 @@ OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&
|
||||
|
||||
WARNINGS = -Wall
|
||||
|
||||
ifeq ($(DOLFS),true)
|
||||
# For large file summit support
|
||||
CFLAGS+=-D_FILE_OFFSET_BITS=64
|
||||
endif
|
||||
ifeq ($(DODMALLOC),true)
|
||||
# For testing mem leaks with dmalloc
|
||||
CFLAGS+=-DDMALLOC
|
||||
|
@ -532,7 +532,11 @@ int list_single(struct dnode *dn)
|
||||
column += 8;
|
||||
break;
|
||||
case LIST_BLOCKS:
|
||||
#if _FILE_OFFSET_BITS == 64
|
||||
fprintf(stdout, "%4lld ", dn->dstat.st_blocks>>1);
|
||||
#else
|
||||
fprintf(stdout, "%4ld ", dn->dstat.st_blocks>>1);
|
||||
#endif
|
||||
column += 5;
|
||||
break;
|
||||
case LIST_MODEBITS:
|
||||
@ -578,7 +582,11 @@ int list_single(struct dnode *dn)
|
||||
if (S_ISBLK(dn->dstat.st_mode) || S_ISCHR(dn->dstat.st_mode)) {
|
||||
fprintf(stdout, "%4d, %3d ", (int)MAJOR(dn->dstat.st_rdev), (int)MINOR(dn->dstat.st_rdev));
|
||||
} else {
|
||||
#if _FILE_OFFSET_BITS == 64
|
||||
fprintf(stdout, "%9lld ", dn->dstat.st_size);
|
||||
#else
|
||||
fprintf(stdout, "%9ld ", dn->dstat.st_size);
|
||||
#endif
|
||||
}
|
||||
column += 10;
|
||||
break;
|
||||
|
8
ls.c
8
ls.c
@ -532,7 +532,11 @@ int list_single(struct dnode *dn)
|
||||
column += 8;
|
||||
break;
|
||||
case LIST_BLOCKS:
|
||||
#if _FILE_OFFSET_BITS == 64
|
||||
fprintf(stdout, "%4lld ", dn->dstat.st_blocks>>1);
|
||||
#else
|
||||
fprintf(stdout, "%4ld ", dn->dstat.st_blocks>>1);
|
||||
#endif
|
||||
column += 5;
|
||||
break;
|
||||
case LIST_MODEBITS:
|
||||
@ -578,7 +582,11 @@ int list_single(struct dnode *dn)
|
||||
if (S_ISBLK(dn->dstat.st_mode) || S_ISCHR(dn->dstat.st_mode)) {
|
||||
fprintf(stdout, "%4d, %3d ", (int)MAJOR(dn->dstat.st_rdev), (int)MINOR(dn->dstat.st_rdev));
|
||||
} else {
|
||||
#if _FILE_OFFSET_BITS == 64
|
||||
fprintf(stdout, "%9lld ", dn->dstat.st_size);
|
||||
#else
|
||||
fprintf(stdout, "%9ld ", dn->dstat.st_size);
|
||||
#endif
|
||||
}
|
||||
column += 10;
|
||||
break;
|
||||
|
4
more.c
4
more.c
@ -123,7 +123,11 @@ extern int more_main(int argc, char **argv)
|
||||
lines = 0;
|
||||
len = fprintf(stdout, "--More-- ");
|
||||
if (file != stdin) {
|
||||
#if _FILE_OFFSET_BITS == 64
|
||||
len += fprintf(stdout, "(%d%% of %lld bytes)",
|
||||
#else
|
||||
len += fprintf(stdout, "(%d%% of %ld bytes)",
|
||||
#endif
|
||||
(int) (100 *
|
||||
((double) ftell(file) /
|
||||
(double) st.st_size)),
|
||||
|
@ -123,7 +123,11 @@ extern int more_main(int argc, char **argv)
|
||||
lines = 0;
|
||||
len = fprintf(stdout, "--More-- ");
|
||||
if (file != stdin) {
|
||||
#if _FILE_OFFSET_BITS == 64
|
||||
len += fprintf(stdout, "(%d%% of %lld bytes)",
|
||||
#else
|
||||
len += fprintf(stdout, "(%d%% of %ld bytes)",
|
||||
#endif
|
||||
(int) (100 *
|
||||
((double) ftell(file) /
|
||||
(double) st.st_size)),
|
||||
|
Loading…
Reference in New Issue
Block a user