From aa20e6f9f9fc0261444008eb2d003c3ffe862cef Mon Sep 17 00:00:00 2001 From: Tomek Malesinski Date: Tue, 13 Dec 2022 20:40:57 +0100 Subject: [PATCH] Fix handling of files bigger than 2GB on 32-bit systems. --- src/MtpLocalFileCopy.cpp | 4 ++-- src/MtpLocalFileCopy.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MtpLocalFileCopy.cpp b/src/MtpLocalFileCopy.cpp index b06efa3..bcf863b 100644 --- a/src/MtpLocalFileCopy.cpp +++ b/src/MtpLocalFileCopy.cpp @@ -85,9 +85,9 @@ off_t MtpLocalFileCopy::getSize() return tempInfo.st_size; } -void MtpLocalFileCopy::seek(long offset) +void MtpLocalFileCopy::seek(off_t offset) { - if (fseek(m_localFile, offset, SEEK_SET)) + if (fseeko(m_localFile, offset, SEEK_SET)) throw MtpFilesystemErrorWithErrorCode(errno, "seek failed"); } diff --git a/src/MtpLocalFileCopy.h b/src/MtpLocalFileCopy.h index 1ceefc2..1d4740f 100644 --- a/src/MtpLocalFileCopy.h +++ b/src/MtpLocalFileCopy.h @@ -39,7 +39,7 @@ class MtpLocalFileCopy off_t getSize(); - void seek(long offset); + void seek(off_t offset); size_t write(const void* ptr, size_t size); void truncate(off_t length); size_t read(void* ptr, size_t size);