diff --git a/src/files.c b/src/files.c index 5489b0f41..8e7d214a9 100644 --- a/src/files.c +++ b/src/files.c @@ -4253,13 +4253,14 @@ boolean recover_savefile(void) { NHFILE *gnhfp, *lnhfp, *snhfp; - int lev, savelev, hpid, pltmpsiz, filecmc; + int lev, savelev, hpid, pltmpsiz; xint8 levc; struct version_info version_data; int processed[256]; char savename[SAVESIZE], errbuf[BUFSZ], indicator; char tmpplbuf[PL_NSIZ_PLUS]; const char *savewrite_failure = (const char *) 0; + int ccbresult = 0; for (lev = 0; lev < 256; lev++) processed[lev] = 0; @@ -4298,8 +4299,7 @@ recover_savefile(void) != sizeof savename) || (read(gnhfp->fd, (genericptr_t) &indicator, sizeof indicator) != sizeof indicator) - || (read(gnhfp->fd, (genericptr_t) &filecmc, sizeof filecmc) - != sizeof filecmc) + || ((ccbresult = compare_critical_bytes(gnhfp)) != 0) || (read(gnhfp->fd, (genericptr_t) &version_data, sizeof version_data) != sizeof version_data) || (read(gnhfp->fd, (genericptr_t) &pltmpsiz, sizeof pltmpsiz) @@ -4312,7 +4312,7 @@ recover_savefile(void) } /* save file should contain: - * format indicator and cmc + * format indicator and critical_bytes * version info * plnametmp = player name size (int, 2 bytes) * player name (PL_NSIZ_PLUS) diff --git a/sys/windows/vs/recover/recover.vcxproj b/sys/windows/vs/recover/recover.vcxproj index 66fd134d0..b8e080962 100644 --- a/sys/windows/vs/recover/recover.vcxproj +++ b/sys/windows/vs/recover/recover.vcxproj @@ -30,6 +30,9 @@ + + WIN32CON;DLB;MSWIN_GRAPHICS;HAS_STDINT_H;MINIMAL_FOR_RECOVER;%(PreprocessorDefinitions) + @@ -50,4 +53,4 @@ - + \ No newline at end of file