more FILE_OFFSET_BITS == 64 adjustments.
diff --git a/coreutils/ls.c b/coreutils/ls.c
index 0b89ecc..8f4cae1 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -655,7 +655,7 @@
 #endif	
 					{
 #if _FILE_OFFSET_BITS == 64
-						printf("%9lld ", dn->dstat.st_size);
+						printf("%9lld ", (long long)dn->dstat.st_size);
 #else
 						printf("%9ld ", dn->dstat.st_size);
 #endif
diff --git a/include/libbb.h b/include/libbb.h
index d0896ab..05f61f2 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -96,7 +96,7 @@
 
 int copy_file(const char *srcName, const char *destName,
 		 int setModes, int followLinks, int forceFlag);
-int copy_file_chunk(int srcFd, int dstFd, size_t remaining);
+int copy_file_chunk(int srcFd, int dstFd, off_t remaining);
 char *buildName(const char *dirName, const char *fileName);
 int makeString(int argc, const char **argv, char *buf, int bufLen);
 char *getChunk(int size);
diff --git a/libbb/libbb.h b/libbb/libbb.h
index d0896ab..05f61f2 100644
--- a/libbb/libbb.h
+++ b/libbb/libbb.h
@@ -96,7 +96,7 @@
 
 int copy_file(const char *srcName, const char *destName,
 		 int setModes, int followLinks, int forceFlag);
-int copy_file_chunk(int srcFd, int dstFd, size_t remaining);
+int copy_file_chunk(int srcFd, int dstFd, off_t remaining);
 char *buildName(const char *dirName, const char *fileName);
 int makeString(int argc, const char **argv, char *buf, int bufLen);
 char *getChunk(int size);
diff --git a/ls.c b/ls.c
index 0b89ecc..8f4cae1 100644
--- a/ls.c
+++ b/ls.c
@@ -655,7 +655,7 @@
 #endif	
 					{
 #if _FILE_OFFSET_BITS == 64
-						printf("%9lld ", dn->dstat.st_size);
+						printf("%9lld ", (long long)dn->dstat.st_size);
 #else
 						printf("%9ld ", dn->dstat.st_size);
 #endif
diff --git a/more.c b/more.c
index b89143e..1d918cf 100644
--- a/more.c
+++ b/more.c
@@ -124,13 +124,13 @@
 				if (file != stdin) {
 #if _FILE_OFFSET_BITS == 64
 					len += printf("(%d%% of %lld bytes)",
+						   (int) (100 * ((double) ftell(file) /
+						   (double) st.st_size)), (long long)st.st_size);
 #else
 					len += printf("(%d%% of %ld bytes)",
+						   (int) (100 * ((double) ftell(file) /
+						   (double) st.st_size)), (long)st.st_size);
 #endif
-								   (int) (100 *
-										  ((double) ftell(file) /
-										   (double) st.st_size)),
-								   st.st_size);
 				}
 				len += printf("%s",
 #ifdef BB_FEATURE_USE_TERMIOS
diff --git a/util-linux/more.c b/util-linux/more.c
index b89143e..1d918cf 100644
--- a/util-linux/more.c
+++ b/util-linux/more.c
@@ -124,13 +124,13 @@
 				if (file != stdin) {
 #if _FILE_OFFSET_BITS == 64
 					len += printf("(%d%% of %lld bytes)",
+						   (int) (100 * ((double) ftell(file) /
+						   (double) st.st_size)), (long long)st.st_size);
 #else
 					len += printf("(%d%% of %ld bytes)",
+						   (int) (100 * ((double) ftell(file) /
+						   (double) st.st_size)), (long)st.st_size);
 #endif
-								   (int) (100 *
-										  ((double) ftell(file) /
-										   (double) st.st_size)),
-								   st.st_size);
 				}
 				len += printf("%s",
 #ifdef BB_FEATURE_USE_TERMIOS