diff --git a/Source/Core/AudioCommon/Src/WaveFile.cpp b/Source/Core/AudioCommon/Src/WaveFile.cpp index 8a175fe35c..5fddaa7fed 100644 --- a/Source/Core/AudioCommon/Src/WaveFile.cpp +++ b/Source/Core/AudioCommon/Src/WaveFile.cpp @@ -73,8 +73,8 @@ bool WaveFileWriter::Start(const char *filename) Write(100 * 1000 * 1000 - 32); // We are now at offset 44 - if (ftell(file) != 44) - PanicAlert("wrong offset: %i", ftell(file)); + if (ftello(file) != 44) + PanicAlert("wrong offset: %i", ftello(file)); return true; } @@ -84,11 +84,11 @@ void WaveFileWriter::Stop() if (!file) return; - // u32 file_size = (u32)ftell(file); - fseek(file, 4, SEEK_SET); + // u32 file_size = (u32)ftello(file); + fseeko(file, 4, SEEK_SET); Write(audio_size + 36); - fseek(file, 40, SEEK_SET); + fseeko(file, 40, SEEK_SET); Write(audio_size); fclose(file); diff --git a/Source/Core/Common/Src/CommonFuncs.h b/Source/Core/Common/Src/CommonFuncs.h index 48ee7e2549..6fa602a31d 100644 --- a/Source/Core/Common/Src/CommonFuncs.h +++ b/Source/Core/Common/Src/CommonFuncs.h @@ -90,8 +90,8 @@ inline u64 _rotr64(u64 x, unsigned int shift){ char* strndup (char const *s, size_t n); // 64 bit offsets for windows - #define fseek _fseeki64 - #define ftell _ftelli64 + #define fseeko _fseeki64 + #define ftello _ftelli64 #define atoll _atoi64 #define stat64 _stat64 #define fstat64 _fstat64 diff --git a/Source/Core/Common/Src/NandPaths.cpp b/Source/Core/Common/Src/NandPaths.cpp index 94772188b5..5234f9ae38 100644 --- a/Source/Core/Common/Src/NandPaths.cpp +++ b/Source/Core/Common/Src/NandPaths.cpp @@ -56,7 +56,7 @@ bool CheckTitleTMD(u64 _titleID) if(pTMDFile) { u64 TitleID = 0xDEADBEEFDEADBEEFULL; - fseek(pTMDFile, 0x18C, SEEK_SET); + fseeko(pTMDFile, 0x18C, SEEK_SET); fread(&TitleID, 8, 1, pTMDFile); fclose(pTMDFile); if (_titleID == Common::swap64(TitleID)) @@ -76,7 +76,7 @@ bool CheckTitleTIK(u64 _titleID) if(pTIKFile) { u64 TitleID = 0xDEADBEEFDEADBEEFULL; - fseek(pTIKFile, 0x1dC, SEEK_SET); + fseeko(pTIKFile, 0x1dC, SEEK_SET); fread(&TitleID, 8, 1, pTIKFile); fclose(pTIKFile); if (_titleID == Common::swap64(TitleID)) diff --git a/Source/Core/Common/Src/SysConf.cpp b/Source/Core/Common/Src/SysConf.cpp index dbac407dc7..8f3de9cd51 100644 --- a/Source/Core/Common/Src/SysConf.cpp +++ b/Source/Core/Common/Src/SysConf.cpp @@ -84,7 +84,7 @@ bool SysConf::LoadFromFileInternal(FILE *f) for (size_t i = 0; i < m_Entries.size() - 1; i++) { SSysConfEntry& curEntry = m_Entries.at(i); - if (fseek(f, curEntry.offset, SEEK_SET) != 0) return false; + if (fseeko(f, curEntry.offset, SEEK_SET) != 0) return false; u8 description = 0; if (fread(&description, sizeof(description), 1, f) != 1) return false; @@ -142,7 +142,7 @@ bool SysConf::SaveToFile(const char *filename) for (size_t i = 0; i < m_Entries.size() - 1; i++) { // Seek to after the name of this entry - if (fseek(f, m_Entries.at(i).offset + m_Entries.at(i).nameLength + 1, SEEK_SET) != 0) return false; + if (fseeko(f, m_Entries.at(i).offset + m_Entries.at(i).nameLength + 1, SEEK_SET) != 0) return false; // We may have to write array length value... if (m_Entries.at(i).type == Type_BigArray) { diff --git a/Source/Core/Core/Src/Boot/Boot_DOL.cpp b/Source/Core/Core/Src/Boot/Boot_DOL.cpp index 0c6f52d92f..8c96bb70d6 100644 --- a/Source/Core/Core/Src/Boot/Boot_DOL.cpp +++ b/Source/Core/Core/Src/Boot/Boot_DOL.cpp @@ -86,7 +86,7 @@ bool CDolLoader::IsDolWii(const char* filename) FILE* pStream = fopen(filename, "rb"); if (pStream) { - fseek(pStream, 0xe0, SEEK_SET); + fseeko(pStream, 0xe0, SEEK_SET); u32 entrypt = fgetc(pStream) << 24 | fgetc(pStream) << 16 | fgetc(pStream) << 8 | fgetc(pStream); diff --git a/Source/Core/Core/Src/HW/EXI_DeviceIPL.cpp b/Source/Core/Core/Src/HW/EXI_DeviceIPL.cpp index 6ac1edca71..c7e432aaf2 100644 --- a/Source/Core/Core/Src/HW/EXI_DeviceIPL.cpp +++ b/Source/Core/Core/Src/HW/EXI_DeviceIPL.cpp @@ -228,9 +228,7 @@ void CEXIIPL::LoadFileToIPL(std::string filename, u32 offset) FILE* pStream = fopen(filename.c_str(), "rb"); if (pStream != NULL) { - fseek(pStream, 0, SEEK_END); - size_t filesize = (size_t)ftell(pStream); - rewind(pStream); + u64 filesize = File::GetSize(pStream); fread(m_pIPL + offset, 1, filesize, pStream); fclose(pStream); diff --git a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp index b6dfeedd3a..73c0500a52 100644 --- a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp +++ b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp @@ -77,11 +77,7 @@ CEXIMemoryCard::CEXIMemoryCard(const std::string& _rName, const std::string& _rF if (pFile) { // Measure size of the memcard file. - fseek(pFile, 0L, SEEK_END); - u64 MemFileSize = ftell(pFile); - fseek(pFile, 0L, SEEK_SET); - - memory_card_size = (int)MemFileSize; + memory_card_size = (int)File::GetSize(pFile); nintendo_card_id = memory_card_size / SIZE_TO_Mb; memory_card_content = new u8[memory_card_size]; memset(memory_card_content, 0xFF, memory_card_size); diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp index b1d18789a3..9628a6dd28 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp @@ -163,9 +163,9 @@ bool CWII_IPC_HLE_Device_FileIO::Seek(u32 _CommandAddress) if (Mode >= 0 && Mode <= 2) { - if (fseek(m_pFileHandle, NewSeekPosition, seek_mode[Mode]) == 0) + if (fseeko(m_pFileHandle, NewSeekPosition, seek_mode[Mode]) == 0) { - ReturnValue = (u32)ftell(m_pFileHandle); + ReturnValue = (u32)ftello(m_pFileHandle); } else { @@ -243,7 +243,7 @@ bool CWII_IPC_HLE_Device_FileIO::IOCtl(u32 _CommandAddress) case ISFS_IOCTL_GETFILESTATS: { m_FileLength = (u32)File::GetSize(m_Filename.c_str()); - u32 Position = (u32)ftell(m_pFileHandle); + u32 Position = (u32)ftello(m_pFileHandle); u32 BufferOut = Memory::Read_U32(_CommandAddress + 0x18); INFO_LOG(WII_IPC_FILEIO, "FileIO: ISFS_IOCTL_GETFILESTATS"); @@ -278,7 +278,7 @@ void CWII_IPC_HLE_Device_FileIO::DoState(PointerWrap &p) { if (p.GetMode() == PointerWrap::MODE_WRITE) { - m_Seek = (m_pFileHandle) ? (s32)ftell(m_pFileHandle) : 0; + m_Seek = (m_pFileHandle) ? (s32)ftello(m_pFileHandle) : 0; } p.Do(m_Mode); @@ -290,7 +290,7 @@ void CWII_IPC_HLE_Device_FileIO::DoState(PointerWrap &p) { Open(0, m_Mode); if (m_pFileHandle) - fseek(m_pFileHandle, m_Seek, SEEK_SET); + fseeko(m_pFileHandle, m_Seek, SEEK_SET); } } } diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp index 5179d977a8..bf0d83ca08 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp @@ -344,8 +344,8 @@ u32 CWII_IPC_HLE_Device_sdio_slot0::ExecuteCommand(u32 _BufferIn, u32 _BufferInS { u32 size = req.bsize * req.blocks; - if (fseek(m_Card, req.arg, SEEK_SET) != 0) - ERROR_LOG(WII_IPC_SD, "fseek failed WTF"); + if (fseeko(m_Card, req.arg, SEEK_SET) != 0) + ERROR_LOG(WII_IPC_SD, "fseeko failed WTF"); u8* buffer = new u8[size]; @@ -383,8 +383,8 @@ u32 CWII_IPC_HLE_Device_sdio_slot0::ExecuteCommand(u32 _BufferIn, u32 _BufferInS { u32 size = req.bsize * req.blocks; - if (fseek(m_Card, req.arg, SEEK_SET) != 0) - ERROR_LOG(WII_IPC_SD, "fseek failed WTF"); + if (fseeko(m_Card, req.arg, SEEK_SET) != 0) + ERROR_LOG(WII_IPC_SD, "fseeko failed WTF"); u8* buffer = new u8[size]; diff --git a/Source/Core/Core/Src/OnFrame.cpp b/Source/Core/Core/Src/OnFrame.cpp index 12869a8bd6..3dccf38621 100644 --- a/Source/Core/Core/Src/OnFrame.cpp +++ b/Source/Core/Core/Src/OnFrame.cpp @@ -358,7 +358,7 @@ void LoadInput(const char *filename) File::Copy(filename, g_recordFile.c_str()); g_recordfd = fopen(g_recordFile.c_str(), "r+b"); - fseek(g_recordfd, 0, SEEK_END); + fseeko(g_recordfd, 0, SEEK_END); g_rerecords++; @@ -469,6 +469,6 @@ void SaveRecording(const char *filename) Core::DisplayMessage(StringFromFormat("Failed to save %s", filename).c_str(), 2000); g_recordfd = fopen(g_recordFile.c_str(), "r+b"); - fseek(g_recordfd, 0, SEEK_END); + fseeko(g_recordfd, 0, SEEK_END); } }; diff --git a/Source/Core/DiscIO/Src/CompressedBlob.cpp b/Source/Core/DiscIO/Src/CompressedBlob.cpp index 9d0daa74f7..ba29cccddf 100644 --- a/Source/Core/DiscIO/Src/CompressedBlob.cpp +++ b/Source/Core/DiscIO/Src/CompressedBlob.cpp @@ -108,7 +108,7 @@ void CompressedBlobReader::GetBlock(u64 block_num, u8 *out_ptr) // clear unused part of zlib buffer. maybe this can be deleted when it works fully. memset(zlib_buffer + comp_block_size, 0, zlib_buffer_size - comp_block_size); - fseek(file, offset, SEEK_SET); + fseeko(file, offset, SEEK_SET); fread(zlib_buffer, 1, comp_block_size, file); u8* source = zlib_buffer; @@ -203,9 +203,9 @@ bool CompressFileToBlob(const char* infile, const char* outfile, u32 sub_type, u8* in_buf = new u8[block_size]; // seek past the header (we will write it at the end) - fseek(f, sizeof(CompressedBlobHeader), SEEK_CUR); + fseeko(f, sizeof(CompressedBlobHeader), SEEK_CUR); // seek past the offset and hash tables (we will write them at the end) - fseek(f, (sizeof(u64) + sizeof(u32)) * header.num_blocks, SEEK_CUR); + fseeko(f, (sizeof(u64) + sizeof(u32)) * header.num_blocks, SEEK_CUR); // Now we are ready to write compressed data! u64 position = 0; @@ -217,7 +217,7 @@ bool CompressFileToBlob(const char* infile, const char* outfile, u32 sub_type, { if (i % progress_monitor == 0) { - u64 inpos = ftell(inf); + u64 inpos = ftello(inf); int ratio = 0; if (inpos != 0) ratio = (int)(100 * position / inpos); @@ -279,7 +279,7 @@ bool CompressFileToBlob(const char* infile, const char* outfile, u32 sub_type, header.compressed_data_size = position; // Okay, go back and fill in headers - fseek(f, 0, SEEK_SET); + fseeko(f, 0, SEEK_SET); fwrite(&header, sizeof(header), 1, f); fwrite(offsets, sizeof(u64), header.num_blocks, f); fwrite(hashes, sizeof(u32), header.num_blocks, f); diff --git a/Source/Core/DiscIO/Src/DiscScrubber.cpp b/Source/Core/DiscIO/Src/DiscScrubber.cpp index 1eb5538f11..44ad6bb6b1 100644 --- a/Source/Core/DiscIO/Src/DiscScrubber.cpp +++ b/Source/Core/DiscIO/Src/DiscScrubber.cpp @@ -138,7 +138,7 @@ void GetNextBlock(FILE* in, u8* buffer) { DEBUG_LOG(DISCIO, "Freeing 0x%016llx", CurrentOffset); std::fill(buffer, buffer + m_BlockSize, 0xFF); - fseek(in, m_BlockSize, SEEK_CUR); + fseeko(in, m_BlockSize, SEEK_CUR); } else { diff --git a/Source/Core/DiscIO/Src/DriveBlob.cpp b/Source/Core/DiscIO/Src/DriveBlob.cpp index cc93e7834f..b2b66f7c88 100644 --- a/Source/Core/DiscIO/Src/DriveBlob.cpp +++ b/Source/Core/DiscIO/Src/DriveBlob.cpp @@ -111,7 +111,7 @@ void DriveReader::GetBlock(u64 block_num, u8 *out_ptr) if (!ReadFile(hDisc, lpSector, m_blocksize, (LPDWORD)&NotUsed, NULL)) PanicAlert("Disc Read Error"); #else - fseek(file_, m_blocksize*block_num, SEEK_SET); + fseeko(file_, m_blocksize*block_num, SEEK_SET); fread(lpSector, 1, m_blocksize, file_); #endif memcpy(out_ptr, lpSector, m_blocksize); @@ -132,7 +132,7 @@ bool DriveReader::ReadMultipleAlignedBlocks(u64 block_num, u64 num_blocks, u8 *o return false; } #else - fseek(file_, m_blocksize*block_num, SEEK_SET); + fseeko(file_, m_blocksize*block_num, SEEK_SET); if(fread(out_ptr, 1, m_blocksize * num_blocks, file_) != m_blocksize * num_blocks) return false; #endif diff --git a/Source/Core/DiscIO/Src/FileBlob.cpp b/Source/Core/DiscIO/Src/FileBlob.cpp index d2ab9c0562..e2ef5d1f64 100644 --- a/Source/Core/DiscIO/Src/FileBlob.cpp +++ b/Source/Core/DiscIO/Src/FileBlob.cpp @@ -46,7 +46,7 @@ PlainFileReader::~PlainFileReader() bool PlainFileReader::Read(u64 offset, u64 nbytes, u8* out_ptr) { - int seekStatus = fseek(file_, offset, SEEK_SET); + int seekStatus = fseeko(file_, offset, SEEK_SET); if (seekStatus != 0) return false; size_t bytesRead = fread(out_ptr, 1, nbytes, file_); diff --git a/Source/Core/DolphinWX/Src/Main.cpp b/Source/Core/DolphinWX/Src/Main.cpp index 5c77a0a2fb..d95cc6dabd 100644 --- a/Source/Core/DolphinWX/Src/Main.cpp +++ b/Source/Core/DolphinWX/Src/Main.cpp @@ -65,7 +65,7 @@ LONG WINAPI MyUnhandledExceptionFilter(LPEXCEPTION_POINTERS e) { FILE* file = NULL; fopen_s(&file, "exceptioninfo.txt", "a"); - fseek(file, 0, SEEK_END); + fseeko(file, 0, SEEK_END); etfprint(file, "\n"); //etfprint(file, g_buildtime); //etfprint(file, "\n"); diff --git a/Source/Core/DolphinWX/Src/MemoryCards/GCMemcard.cpp b/Source/Core/DolphinWX/Src/MemoryCards/GCMemcard.cpp index 77d1f2bc43..7eab3d4eeb 100644 --- a/Source/Core/DolphinWX/Src/MemoryCards/GCMemcard.cpp +++ b/Source/Core/DolphinWX/Src/MemoryCards/GCMemcard.cpp @@ -100,7 +100,7 @@ GCMemcard::GCMemcard(const char *filename) } } - fseek(mcd, 0, SEEK_SET); + fseeko(mcd, 0, SEEK_SET); if (fread(&hdr, 1, BLOCK_SIZE, mcd) != BLOCK_SIZE) { fail = true; @@ -191,7 +191,7 @@ GCMemcard::GCMemcard(const char *filename) // bat = bat_backup; // needed? } - fseek(mcd, 0xa000, SEEK_SET); + fseeko(mcd, 0xa000, SEEK_SET); u16 sizeMb = BE16(hdr.SizeMb); switch (sizeMb) @@ -241,7 +241,7 @@ bool GCMemcard::Save() { bool completeWrite = true; FILE *mcd=(FILE*)mcdFile; - fseek(mcd, 0, SEEK_SET); + fseeko(mcd, 0, SEEK_SET); if (fwrite(&hdr, 1, BLOCK_SIZE, mcd) != BLOCK_SIZE) completeWrite = false; if (fwrite(&dir, 1, BLOCK_SIZE, mcd) != BLOCK_SIZE) completeWrite = false; if (fwrite(&dir_backup, 1, BLOCK_SIZE, mcd) != BLOCK_SIZE) completeWrite = false; @@ -816,20 +816,20 @@ u32 GCMemcard::ImportGciInternal(FILE *gci, const char *inputFile, std::string o else return OPENFAIL; } - fseek(gci, offset, SEEK_SET); + fseeko(gci, offset, SEEK_SET); DEntry *tempDEntry = new DEntry; fread(tempDEntry, 1, DENTRY_SIZE, gci); - int fStart = (int) ftell(gci); - fseek(gci, 0, SEEK_END); - int length = (int) ftell(gci) - fStart; - fseek(gci, offset + DENTRY_SIZE, SEEK_SET); + int fStart = (int) ftello(gci); + fseeko(gci, 0, SEEK_END); + int length = (int) ftello(gci) - fStart; + fseeko(gci, offset + DENTRY_SIZE, SEEK_SET); Gcs_SavConvert(tempDEntry, offset, length); if (length != BE16(tempDEntry->BlockCount) * BLOCK_SIZE) return LENGTHFAIL; - if (ftell(gci) != offset + DENTRY_SIZE) // Verify correct file position + if (ftello(gci) != offset + DENTRY_SIZE) // Verify correct file position return OPENFAIL; u32 size = BE16((tempDEntry->BlockCount)) * BLOCK_SIZE; @@ -846,12 +846,12 @@ u32 GCMemcard::ImportGciInternal(FILE *gci, const char *inputFile, std::string o delete tempDEntry; return OPENFAIL; } - fseek(gci2, 0, SEEK_SET); + fseeko(gci2, 0, SEEK_SET); if (fwrite(tempDEntry, 1, DENTRY_SIZE, gci2) != DENTRY_SIZE) completeWrite = false; int fileBlocks = BE16(tempDEntry->BlockCount); - fseek(gci2, DENTRY_SIZE, SEEK_SET); + fseeko(gci2, DENTRY_SIZE, SEEK_SET); if (fwrite(tempSaveData, 1, BLOCK_SIZE * fileBlocks, gci2) != (unsigned)(BLOCK_SIZE * fileBlocks)) completeWrite = false; @@ -904,7 +904,7 @@ u32 GCMemcard::ExportGci(u8 index, const char *fileName, std::string *fileName2) if (!gci) return OPENFAIL; bool completeWrite = true; - fseek(gci, 0, SEEK_SET); + fseeko(gci, 0, SEEK_SET); switch(offset) { @@ -953,7 +953,7 @@ u32 GCMemcard::ExportGci(u8 index, const char *fileName, std::string *fileName2) delete[] tempSaveData; return NOMEMCARD; } - fseek(gci, DENTRY_SIZE + offset, SEEK_SET); + fseeko(gci, DENTRY_SIZE + offset, SEEK_SET); if (fwrite(tempSaveData, 1, size, gci) != size) completeWrite = false; fclose(gci); diff --git a/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.cpp b/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.cpp index dc7583d6b8..a5c8d59fa5 100644 --- a/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.cpp +++ b/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.cpp @@ -185,7 +185,7 @@ void CWiiSaveCrypted::ReadBKHDR() b_valid = false; return; } - fseek(fpData_bin, HEADER_SZ, SEEK_SET); + fseeko(fpData_bin, HEADER_SZ, SEEK_SET); if (fread(&bkhdr, BK_SZ, 1, fpData_bin) != 1) { PanicAlert("failed to read bk header"); @@ -267,7 +267,7 @@ void CWiiSaveCrypted::ImportWiiSaveFiles() for(u32 i = 0; i < _numberOfFiles; i++) { - fseek(fpData_bin, lastpos, SEEK_SET); + fseeko(fpData_bin, lastpos, SEEK_SET); memset(&_tmpFileHDR, 0, FILE_HDR_SZ); memset(IV, 0, 0x10); _fileSize = 0; @@ -450,7 +450,7 @@ void CWiiSaveCrypted::do_sig() } data = new u8[data_size]; - fseek(fpData_bin, 0xf0c0, SEEK_SET); + fseeko(fpData_bin, 0xf0c0, SEEK_SET); if (fread(data, data_size, 1, fpData_bin) != 1) PanicAlert("read data for sig check"); sha1(data, data_size, hash); diff --git a/Source/DSPSpy/Stubs.cpp b/Source/DSPSpy/Stubs.cpp index 37e97fab66..016af4546f 100644 --- a/Source/DSPSpy/Stubs.cpp +++ b/Source/DSPSpy/Stubs.cpp @@ -106,9 +106,9 @@ bool ReadFileToString(bool text_file, const char *filename, std::string &str) FILE *f = fopen(filename, text_file ? "r" : "rb"); if (!f) return false; - fseek(f, 0, SEEK_END); - size_t len = ftell(f); - fseek(f, 0, SEEK_SET); + fseeko(f, 0, SEEK_END); + size_t len = ftello(f); + fseeko(f, 0, SEEK_SET); char *buf = new char[len + 1]; buf[fread(buf, 1, len, f)] = 0; str = std::string(buf, len);