Skip to content

Commit ae2fa65

Browse files
committed
memcard.cpp - Account for CARDCreateAsync automatically opening the file it makes
1 parent fb22583 commit ae2fa65

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

ttyd-tools/rel/source/memcard.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,9 @@ int32_t createSettingsFile(int32_t memoryCardSlot, gc::card::CARDFileInfo *setti
142142
uint32_t FileSizeAdjusted = (FileSize + 0x2000 - 1) & ~(0x2000 - 1);
143143

144144
// Create the new file
145+
// The new file should be opened automatically via CARDCreateAsync
145146
const char *SettingsFileName = MenuSettings.SettingsFileName;
146-
ReturnCode = createFileOnCard(memoryCardSlot, SettingsFileName, FileSizeAdjusted, &FileInfo);
147+
ReturnCode = createFileOnCard(memoryCardSlot, SettingsFileName, FileSizeAdjusted, settingsFileInfo);
147148

148149
if (ReturnCode != CARD_RESULT_READY)
149150
{
@@ -153,13 +154,14 @@ int32_t createSettingsFile(int32_t memoryCardSlot, gc::card::CARDFileInfo *setti
153154
}
154155

155156
// Get the stats for the new file
157+
int32_t FileNumber = settingsFileInfo->fileNum;
156158
gc::card::CARDStat CardStat;
157-
int32_t FileNumber = FileInfo.fileNum;
158159

159160
ReturnCode = gc::card::CARDGetStatus(memoryCardSlot, FileNumber, &CardStat);
160161
if (ReturnCode != CARD_RESULT_READY)
161162
{
162163
delete[] (BannerIconData);
164+
gc::card::CARDClose(settingsFileInfo);
163165
gc::card::CARDUnmount(memoryCardSlot);
164166
return ReturnCode;
165167
}
@@ -176,15 +178,7 @@ int32_t createSettingsFile(int32_t memoryCardSlot, gc::card::CARDFileInfo *setti
176178
if (ReturnCode != CARD_RESULT_READY)
177179
{
178180
delete[] (BannerIconData);
179-
gc::card::CARDUnmount(memoryCardSlot);
180-
return ReturnCode;
181-
}
182-
183-
// Open the new file
184-
ReturnCode = gc::card::CARDOpen(memoryCardSlot, SettingsFileName, settingsFileInfo);
185-
if (ReturnCode != CARD_RESULT_READY)
186-
{
187-
delete[] (BannerIconData);
181+
gc::card::CARDClose(settingsFileInfo);
188182
gc::card::CARDUnmount(memoryCardSlot);
189183
return ReturnCode;
190184
}

0 commit comments

Comments
 (0)