@@ -142,8 +142,9 @@ int32_t createSettingsFile(int32_t memoryCardSlot, gc::card::CARDFileInfo *setti
142
142
uint32_t FileSizeAdjusted = (FileSize + 0x2000 - 1 ) & ~(0x2000 - 1 );
143
143
144
144
// Create the new file
145
+ // The new file should be opened automatically via CARDCreateAsync
145
146
const char *SettingsFileName = MenuSettings.SettingsFileName ;
146
- ReturnCode = createFileOnCard (memoryCardSlot, SettingsFileName, FileSizeAdjusted, &FileInfo );
147
+ ReturnCode = createFileOnCard (memoryCardSlot, SettingsFileName, FileSizeAdjusted, settingsFileInfo );
147
148
148
149
if (ReturnCode != CARD_RESULT_READY)
149
150
{
@@ -153,13 +154,14 @@ int32_t createSettingsFile(int32_t memoryCardSlot, gc::card::CARDFileInfo *setti
153
154
}
154
155
155
156
// Get the stats for the new file
157
+ int32_t FileNumber = settingsFileInfo->fileNum ;
156
158
gc::card::CARDStat CardStat;
157
- int32_t FileNumber = FileInfo.fileNum ;
158
159
159
160
ReturnCode = gc::card::CARDGetStatus (memoryCardSlot, FileNumber, &CardStat);
160
161
if (ReturnCode != CARD_RESULT_READY)
161
162
{
162
163
delete[] (BannerIconData);
164
+ gc::card::CARDClose (settingsFileInfo);
163
165
gc::card::CARDUnmount (memoryCardSlot);
164
166
return ReturnCode;
165
167
}
@@ -176,15 +178,7 @@ int32_t createSettingsFile(int32_t memoryCardSlot, gc::card::CARDFileInfo *setti
176
178
if (ReturnCode != CARD_RESULT_READY)
177
179
{
178
180
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);
188
182
gc::card::CARDUnmount (memoryCardSlot);
189
183
return ReturnCode;
190
184
}
0 commit comments