summaryrefslogtreecommitdiff
path: root/Source/Core/Common/SDCardUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/SDCardUtil.cpp')
-rw-r--r--Source/Core/Common/SDCardUtil.cpp35
1 files changed, 17 insertions, 18 deletions
diff --git a/Source/Core/Common/SDCardUtil.cpp b/Source/Core/Common/SDCardUtil.cpp
index 3a0ecedf40..8a06a118d9 100644
--- a/Source/Core/Common/SDCardUtil.cpp
+++ b/Source/Core/Common/SDCardUtil.cpp
@@ -175,12 +175,12 @@ static void fat_init(u8* fat)
POKEW(fat + 8, 0x0fffffff); /* End of cluster chain for root dir */
}
-static bool write_sector(FILE* file, const u8* sector)
+static bool write_sector(File::IOFile& file, const u8* sector)
{
- return fwrite(sector, 1, BYTES_PER_SECTOR, file) == BYTES_PER_SECTOR;
+ return file.WriteBytes(sector, BYTES_PER_SECTOR);
}
-static bool write_empty(FILE* file, std::size_t count)
+static bool write_empty(File::IOFile& file, std::size_t count)
{
static constexpr u8 empty[64 * 1024] = {};
@@ -189,7 +189,7 @@ static bool write_empty(FILE* file, std::size_t count)
{
const std::size_t len = std::min(sizeof(empty), count);
- if (fwrite(empty, 1, len, file) != len)
+ if (!file.WriteBytes(empty, len))
return false;
count -= len;
@@ -218,8 +218,7 @@ bool SDCardCreate(u64 disk_size /*in MB*/, const std::string& filename)
fat_init(s_fat_head);
File::IOFile file(filename, "wb");
- FILE* const f = file.GetHandle();
- if (!f)
+ if (!file)
{
ERROR_LOG(COMMON, "Could not create file '%s', aborting...", filename.c_str());
return false;
@@ -238,45 +237,45 @@ bool SDCardCreate(u64 disk_size /*in MB*/, const std::string& filename)
* zero sectors
*/
- if (!write_sector(f, s_boot_sector))
+ if (!write_sector(file, s_boot_sector))
goto FailWrite;
- if (!write_sector(f, s_fsinfo_sector))
+ if (!write_sector(file, s_fsinfo_sector))
goto FailWrite;
if (BACKUP_BOOT_SECTOR > 0)
{
- if (!write_empty(f, BACKUP_BOOT_SECTOR - 2))
+ if (!write_empty(file, BACKUP_BOOT_SECTOR - 2))
goto FailWrite;
- if (!write_sector(f, s_boot_sector))
+ if (!write_sector(file, s_boot_sector))
goto FailWrite;
- if (!write_sector(f, s_fsinfo_sector))
+ if (!write_sector(file, s_fsinfo_sector))
goto FailWrite;
- if (!write_empty(f, RESERVED_SECTORS - 2 - BACKUP_BOOT_SECTOR))
+ if (!write_empty(file, RESERVED_SECTORS - 2 - BACKUP_BOOT_SECTOR))
goto FailWrite;
}
else
{
- if (!write_empty(f, RESERVED_SECTORS - 2))
+ if (!write_empty(file, RESERVED_SECTORS - 2))
goto FailWrite;
}
- if (!write_sector(f, s_fat_head))
+ if (!write_sector(file, s_fat_head))
goto FailWrite;
- if (!write_empty(f, sectors_per_fat - 1))
+ if (!write_empty(file, sectors_per_fat - 1))
goto FailWrite;
- if (!write_sector(f, s_fat_head))
+ if (!write_sector(file, s_fat_head))
goto FailWrite;
- if (!write_empty(f, sectors_per_fat - 1))
+ if (!write_empty(file, sectors_per_fat - 1))
goto FailWrite;
- if (!write_empty(f, sectors_per_disk - RESERVED_SECTORS - 2 * sectors_per_fat))
+ if (!write_empty(file, sectors_per_disk - RESERVED_SECTORS - 2 * sectors_per_fat))
goto FailWrite;
return true;