X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmake_ext4fs.git;a=blobdiff_plain;f=libsparse%2Foutput_file.c;h=a581c457cc001b40edd71cb99318e1a530a4f53a;hp=cd3080038118245e53e352bb676f30cd943c5578;hb=98e3d5c1ceddd4a32b92c1cfafe929fe006fb98c;hpb=e51257087e6c54d8274548ba26aad43857a75367 diff --git a/libsparse/output_file.c b/libsparse/output_file.c index cd30800..a581c45 100644 --- a/libsparse/output_file.c +++ b/libsparse/output_file.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -34,13 +35,6 @@ #include "sparse_crc32.h" #include "sparse_format.h" -#ifndef USE_MINGW -#include -#define O_BINARY 0 -#else -#define ftruncate64 ftruncate -#endif - #if defined(__APPLE__) && defined(__MACH__) #define lseek64 lseek #define ftruncate64 ftruncate @@ -705,39 +699,16 @@ int write_fd_chunk(struct output_file *out, unsigned int len, aligned_diff = offset - aligned_offset; buffer_size = len + aligned_diff; -#ifndef USE_MINGW char *data = mmap64(NULL, buffer_size, PROT_READ, MAP_SHARED, fd, aligned_offset); if (data == MAP_FAILED) { return -errno; } ptr = data + aligned_diff; -#else - off64_t pos; - char *data = malloc(len); - if (!data) { - return -errno; - } - pos = lseek64(fd, offset, SEEK_SET); - if (pos < 0) { - free(data); - return -errno; - } - ret = read_all(fd, data, len); - if (ret < 0) { - free(data); - return ret; - } - ptr = data; -#endif ret = out->sparse_ops->write_data_chunk(out, len, ptr); -#ifndef USE_MINGW munmap(data, buffer_size); -#else - free(data); -#endif return ret; } @@ -748,7 +719,7 @@ int write_file_chunk(struct output_file *out, unsigned int len, { int ret; - int file_fd = open(file, O_RDONLY | O_BINARY); + int file_fd = open(file, O_RDONLY); if (file_fd < 0) { return -errno; }