diff --git a/hal.h b/hal.h --- a/hal.h +++ b/hal.h @@ -87,7 +87,7 @@ char *FiosBrowseTo(const FiosItem *item) // Return path, free space and stringID StringID FiosGetDescText(const char **path, uint32 *tot); // Delete a name -void FiosDelete(const char *name); +bool FiosDelete(const char *name); // Make a filename from a name void FiosMakeSavegameName(char *buf, const char *name); diff --git a/misc_gui.c b/misc_gui.c --- a/misc_gui.c +++ b/misc_gui.c @@ -1328,7 +1328,9 @@ static void SaveLoadDlgWndProc(Window *w break; case WE_TIMEOUT: if (HASBIT(w->click_state, 10)) { /* Delete button clicked */ - FiosDelete(WP(w,querystr_d).text.buf); + if (!FiosDelete(WP(w,querystr_d).text.buf)) { + ShowErrorMessage(INVALID_STRING_ID, STR_4008_UNABLE_TO_DELETE_FILE, 0, 0); + } SetWindowDirty(w); BuildFileList(); if (_saveload_mode == SLD_SAVE_GAME) { diff --git a/os2.c b/os2.c --- a/os2.c +++ b/os2.c @@ -415,12 +415,12 @@ void FiosMakeSavegameName(char *buf, con sprintf(buf, "%s\\%s%s", _fios_path, name, extension); } -void FiosDelete(const char *name) +bool FiosDelete(const char *name) { char path[512]; snprintf(path, lengthof(path), "%s\\%s", _fios_path, name); - unlink(path); + return unlink(path) == 0; } bool FileExists(const char *filename) diff --git a/unix.c b/unix.c --- a/unix.c +++ b/unix.c @@ -353,12 +353,12 @@ void FiosMakeSavegameName(char *buf, con sprintf(buf, "%s/%s%s", _fios_path, name, extension); } -void FiosDelete(const char *name) +bool FiosDelete(const char *name) { char path[512]; snprintf(path, lengthof(path), "%s/%s", _fios_path, name); - unlink(path); + return unlink(path) == 0; } bool FileExists(const char *filename) diff --git a/win32.c b/win32.c --- a/win32.c +++ b/win32.c @@ -911,12 +911,12 @@ void FiosMakeSavegameName(char *buf, con sprintf(buf, "%s\\%s%s", _fios_path, name, extension); } -void FiosDelete(const char *name) +bool FiosDelete(const char *name) { char path[512]; snprintf(path, lengthof(path), "%s\\%s", _fios_path, name); - DeleteFile(path); + return DeleteFile(path) != 0; } bool FileExists(const char *filename)