diff options
author | Eric Andersen | 2001-04-05 23:07:25 +0000 |
---|---|---|
committer | Eric Andersen | 2001-04-05 23:07:25 +0000 |
commit | 83f173b61ec4df708d6ead45540ede3a28c2e630 (patch) | |
tree | c1986321291c7ac619748f051f3d716bc89f46da | |
parent | c270ec1fa27e998d6d22bb43c3839789f8af4ba8 (diff) | |
download | busybox-83f173b61ec4df708d6ead45540ede3a28c2e630.zip busybox-83f173b61ec4df708d6ead45540ede3a28c2e630.tar.gz |
A first pass at making D_FILE_OFFSET_BITS=64 work, from
Jari Ruusu <jari.ruusu@pp.inet.fi>
-rw-r--r-- | ar.c | 6 | ||||
-rw-r--r-- | archival/ar.c | 6 | ||||
-rw-r--r-- | libbb/copy_file_chunk.c | 4 |
3 files changed, 8 insertions, 8 deletions
@@ -31,7 +31,7 @@ typedef struct ar_headers_s { char *name; - size_t size; + off_t size; uid_t uid; gid_t gid; mode_t mode; @@ -90,7 +90,7 @@ extern ar_headers_t get_ar_headers(int srcFd) /* dont worry about adding the last '\n', we dont need it now */ } - entry->size = (size_t) atoi(raw_ar_header.size); + entry->size = (off_t) atoi(raw_ar_header.size); /* long filenames have '/' as the first character */ if (raw_ar_header.name[0] == '/') { if (raw_ar_header.name[1] == '/') { @@ -211,7 +211,7 @@ extern int ar_main(int argc, char **argv) } if ((funct & extract_to_file) || (funct & extract_to_stdout)) { lseek(srcFd, extract_list->offset, SEEK_SET); - copy_file_chunk(srcFd, dstFd, (size_t) extract_list->size); + copy_file_chunk(srcFd, dstFd, (off_t) extract_list->size); } if (funct & verbose) { printf("%s %d/%d %8d %s ", mode_string(extract_list->mode), diff --git a/archival/ar.c b/archival/ar.c index 59f5181..d666719 100644 --- a/archival/ar.c +++ b/archival/ar.c @@ -31,7 +31,7 @@ typedef struct ar_headers_s { char *name; - size_t size; + off_t size; uid_t uid; gid_t gid; mode_t mode; @@ -90,7 +90,7 @@ extern ar_headers_t get_ar_headers(int srcFd) /* dont worry about adding the last '\n', we dont need it now */ } - entry->size = (size_t) atoi(raw_ar_header.size); + entry->size = (off_t) atoi(raw_ar_header.size); /* long filenames have '/' as the first character */ if (raw_ar_header.name[0] == '/') { if (raw_ar_header.name[1] == '/') { @@ -211,7 +211,7 @@ extern int ar_main(int argc, char **argv) } if ((funct & extract_to_file) || (funct & extract_to_stdout)) { lseek(srcFd, extract_list->offset, SEEK_SET); - copy_file_chunk(srcFd, dstFd, (size_t) extract_list->size); + copy_file_chunk(srcFd, dstFd, (off_t) extract_list->size); } if (funct & verbose) { printf("%s %d/%d %8d %s ", mode_string(extract_list->mode), diff --git a/libbb/copy_file_chunk.c b/libbb/copy_file_chunk.c index 3c657dd..bf0b06e 100644 --- a/libbb/copy_file_chunk.c +++ b/libbb/copy_file_chunk.c @@ -32,9 +32,9 @@ /* * Copy chunksize bytes between two file descriptors */ -int copy_file_chunk(int srcfd, int dstfd, size_t chunksize) +int copy_file_chunk(int srcfd, int dstfd, off_t chunksize) { - size_t size; + off_t size; char buffer[BUFSIZ]; /* BUFSIZ is declared in stdio.h */ while (chunksize > 0) { |