From 98a11ae8cff3140bfe09f37bb83f722ae42591c3 Mon Sep 17 00:00:00 2001 From: doursse Date: Mon, 9 Jun 2008 18:35:49 +0000 Subject: [PATCH] * src/lib/Evil.h: add strdup define * src/lib/evil.c: (evil_tmpdir_get), (evil_homedir_get): include stdlib.h to define MB_CUR_MAX On Windows CE, tmpdir and homedir are defined as "\windows" * src/lib/mman/mman.c: (mmap), (munmap): compile the big fat hack of mmap only on Windows CE SVN revision: 34784 --- legacy/evil/ChangeLog | 12 ++++++++++++ legacy/evil/src/lib/Evil.h | 1 + legacy/evil/src/lib/evil.c | 9 +++++++++ legacy/evil/src/lib/mman/mman.c | 13 ++++++++++--- 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/legacy/evil/ChangeLog b/legacy/evil/ChangeLog index ab2cbf2069..4c70e49f01 100644 --- a/legacy/evil/ChangeLog +++ b/legacy/evil/ChangeLog @@ -1,3 +1,15 @@ +2008-06-09 Vincent Torri + + * src/lib/Evil.h: + add strdup define + + * src/lib/evil.c: (evil_tmpdir_get), (evil_homedir_get): + include stdlib.h to define MB_CUR_MAX + On Windows CE, tmpdir and homedir are defined as "\windows" + + * src/lib/mman/mman.c: (mmap), (munmap): + compile the big fat hack of mmap only on Windows CE + 2008-06-08 Vincent Torri * src/lib/Evil.h: diff --git a/legacy/evil/src/lib/Evil.h b/legacy/evil/src/lib/Evil.h index 531c29b053..9283748613 100644 --- a/legacy/evil/src/lib/Evil.h +++ b/legacy/evil/src/lib/Evil.h @@ -380,6 +380,7 @@ EAPI int unsetenv(const char *name); # define mkdir(p,m) _mkdir(p) # define getcwd(b,s) _getcwd((b),(s)) # define lstat(f,s) _stat((f),(s)) +# define strdup(s) _strdup(s) # endif #endif diff --git a/legacy/evil/src/lib/evil.c b/legacy/evil/src/lib/evil.c index 2ccd47e0de..9ebf3b9f0c 100644 --- a/legacy/evil/src/lib/evil.c +++ b/legacy/evil/src/lib/evil.c @@ -2,6 +2,7 @@ #include #undef WIN32_LEAN_AND_MEAN +#include #include #ifndef __CEGCC__ @@ -423,6 +424,9 @@ evil_sockets_shutdown(void) const char * evil_tmpdir_get(void) { +#ifdef _WIN32_WCE + return "\\windows"; +#else char *tmpdir; tmpdir = getenv("TMP"); @@ -432,11 +436,15 @@ evil_tmpdir_get(void) if (!tmpdir) tmpdir="C:\\"; return tmpdir; +#endif /* ! _WIN32_WCE */ } const char * evil_homedir_get(void) { +#ifdef _WIN32_WCE + return "\\windows"; +#else char *homedir; homedir = getenv("HOME"); @@ -445,6 +453,7 @@ evil_homedir_get(void) if (!homedir) homedir="C:\\"; return homedir; +#endif /* ! _WIN32_WCE */ } char * diff --git a/legacy/evil/src/lib/mman/mman.c b/legacy/evil/src/lib/mman/mman.c index 585310a012..6500bd5a7d 100644 --- a/legacy/evil/src/lib/mman/mman.c +++ b/legacy/evil/src/lib/mman/mman.c @@ -43,7 +43,6 @@ mmap(void *addr __UNUSED__, off_t offset) { OSVERSIONINFO os_version; - void *data; os_version.dwOSVersionInfoSize = sizeof(os_version); if (!GetVersionEx(&os_version)) @@ -57,9 +56,11 @@ mmap(void *addr __UNUSED__, return MAP_FAILED; } +#ifdef _WIN32_WCE if ((os_version.dwPlatformId == VER_PLATFORM_WIN32_CE) && (os_version.dwMajorVersion < 5)) { + void *data; size_t size; data = malloc(len); @@ -83,13 +84,17 @@ mmap(void *addr __UNUSED__, free(data); return MAP_FAILED; } + + return data; } else +#endif /* ! _WIN32_WCE */ { HANDLE fm; DWORD protect = PAGE_NOACCESS; DWORD access = 0; HANDLE handle; + void *data; /* support only MAP_SHARED */ if (!(flags & MAP_SHARED)) @@ -178,15 +183,16 @@ mmap(void *addr __UNUSED__, return MAP_FAILED; } - } - return data; + return data; + } } int munmap(void *addr, size_t len __UNUSED__) { +#ifdef _WIN32_WCE OSVERSIONINFO os_version; os_version.dwOSVersionInfoSize = sizeof(os_version); @@ -210,6 +216,7 @@ munmap(void *addr, return 0; } else +#endif /* ! _WIN32_WCE */ { BOOL res;