Always delete lasturls file when changing value.

This commit is contained in:
Steveice10 2017-05-23 11:23:58 -07:00
parent 42dbb3bb5f
commit ddb18e3058

View File

@ -47,18 +47,24 @@ static Result remoteinstall_set_last_urls(const char* urls) {
FS_Archive sdmcArchive = 0;
if(R_SUCCEEDED(res = FSUSER_OpenArchive(&sdmcArchive, ARCHIVE_SDMC, fsMakePath(PATH_EMPTY, "")))) {
FS_Path path = fsMakePath(PATH_ASCII, "/fbi/lasturls");
if(urls == NULL || strlen(urls) == 0) {
res = FSUSER_DeleteFile(sdmcArchive, path);
} else if(R_SUCCEEDED(res = util_ensure_dir(sdmcArchive, "/fbi/"))) {
Handle file = 0;
if(R_SUCCEEDED(res = FSUSER_OpenFile(&file, sdmcArchive, path, FS_OPEN_WRITE | FS_OPEN_CREATE, 0))) {
u32 bytesWritten = 0;
res = FSFILE_Write(file, &bytesWritten, 0, urls, strlen(urls), FS_WRITE_FLUSH | FS_WRITE_UPDATE_TIME);
Result closeRes = FSFILE_Close(file);
if(R_SUCCEEDED(res)) {
res = closeRes;
}
Handle file = 0;
if(R_SUCCEEDED(FSUSER_OpenFile(&file, sdmcArchive, path, FS_OPEN_READ, 0))) {
FSFILE_Close(file);
res = FSUSER_DeleteFile(sdmcArchive, path);
}
if(urls != NULL && strlen(urls) != 0
&& R_SUCCEEDED(res)
&& R_SUCCEEDED(res = util_ensure_dir(sdmcArchive, "/fbi/"))
&& R_SUCCEEDED(res = FSUSER_OpenFile(&file, sdmcArchive, path, FS_OPEN_WRITE | FS_OPEN_CREATE, 0))) {
u32 bytesWritten = 0;
res = FSFILE_Write(file, &bytesWritten, 0, urls, strlen(urls), FS_WRITE_FLUSH | FS_WRITE_UPDATE_TIME);
Result closeRes = FSFILE_Close(file);
if(R_SUCCEEDED(res)) {
res = closeRes;
}
}