From 4dae672e927a4f9fc03e5fdc7578347fff7e9f34 Mon Sep 17 00:00:00 2001 From: truelight Date: Sun, 21 Jan 2007 14:19:18 +0000 Subject: [PATCH] (svn r8306) [WinCE] -Fix: some functions don't exists in WinCE, so give an alternative where possible --- src/saveload.cpp | 6 ++++++ src/stdafx.h | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/saveload.cpp b/src/saveload.cpp index e4aa5d5939..7b3b199f8a 100644 --- a/src/saveload.cpp +++ b/src/saveload.cpp @@ -1595,7 +1595,13 @@ SaveOrLoadResult SaveOrLoad(const char *filename, int mode) /* No loader found, treat as version 0 and use LZO format */ if (fmt == endof(_saveload_formats)) { DEBUG(sl, 0, "Unknown savegame type, trying to load it as the buggy format"); +#if defined(WINCE) + /* Of course some system had not to support rewind ;) */ + fseek(_sl.fh, 0L, SEEK_SET); + clearerr(_sl.fh); +#else rewind(_sl.fh); +#endif _sl_version = 0; _sl_minor_version = 0; fmt = _saveload_formats + 1; // LZO diff --git a/src/stdafx.h b/src/stdafx.h index 6c6a21ec78..d400f9c3cf 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -157,11 +157,19 @@ # include #endif /* defined(_MSC_VER) */ +#if defined(WINCE) +# define strdup _strdup +#endif /* WINCE */ + /* NOTE: the string returned by these functions is only valid until the next * call to the same function and is not thread- or reentrancy-safe */ #if !defined(STRGEN) # if defined(WIN32) || defined(WIN64) -# define fopen(file, mode) _wfopen(OTTD2FS(file), L ## mode) +# if defined(WINCE) +/* XXX - WinCE without MSVCRT doesn't support wfopen, so it seems */ +# else +# define fopen(file, mode) _wfopen(OTTD2FS(file), L ## mode) +# endif const char *FS2OTTD(const wchar_t *name); const wchar_t *OTTD2FS(const char *name); # else