Alexandre Julliard : include: Added the msvcrt memory.h header.
Alexandre Julliard
julliard at winehq.org
Tue Dec 9 06:24:57 CST 2008
Module: wine
Branch: master
Commit: 956f19fa1b82f802d8cc6ce5e671f1e48cc0cd39
URL: http://source.winehq.org/git/wine.git/?a=commit;h=956f19fa1b82f802d8cc6ce5e671f1e48cc0cd39
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Dec 9 11:30:53 2008 +0100
include: Added the msvcrt memory.h header.
---
include/Makefile.in | 1 +
include/msvcrt/memory.h | 58 +++++++++++++++++++++++++++++++++++++++++++++++
include/msvcrt/string.h | 17 +++++++++-----
3 files changed, 70 insertions(+), 6 deletions(-)
diff --git a/include/Makefile.in b/include/Makefile.in
index 3254080..de25bbf 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -304,6 +304,7 @@ SRCDIR_INCLUDES = \
msvcrt/math.h \
msvcrt/mbctype.h \
msvcrt/mbstring.h \
+ msvcrt/memory.h \
msvcrt/process.h \
msvcrt/search.h \
msvcrt/setjmp.h \
diff --git a/include/msvcrt/memory.h b/include/msvcrt/memory.h
new file mode 100644
index 0000000..a5217df
--- /dev/null
+++ b/include/msvcrt/memory.h
@@ -0,0 +1,58 @@
+/*
+ * Memory definitions
+ *
+ * Derived from the mingw header written by Colin Peters.
+ * Modified for Wine use by Jon Griffiths and Francois Gouget.
+ * This file is in the public domain.
+ */
+#ifndef __WINE_MEMORY_H
+#define __WINE_MEMORY_H
+#ifndef __WINE_USE_MSVCRT
+#define __WINE_USE_MSVCRT
+#endif
+
+#if defined(__x86_64__) && !defined(_WIN64)
+#define _WIN64
+#endif
+
+#if !defined(_MSC_VER) && !defined(__int64)
+# ifdef _WIN64
+# define __int64 long
+# else
+# define __int64 long long
+# endif
+#endif
+
+#ifndef _SIZE_T_DEFINED
+#ifdef _WIN64
+typedef unsigned __int64 size_t;
+#else
+typedef unsigned int size_t;
+#endif
+#define _SIZE_T_DEFINED
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _CRT_MEMORY_DEFINED
+#define _CRT_MEMORY_DEFINED
+
+void* memchr(const void*,int,size_t);
+int memcmp(const void*,const void*,size_t);
+void* memcpy(void*,const void*,size_t);
+void* memset(void*,int,size_t);
+void* _memccpy(void*,const void*,int,unsigned int);
+int _memicmp(const void*,const void*,unsigned int);
+
+static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
+static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
+
+#endif /* _CRT_MEMORY_DEFINED */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WINE_MEMORY_H */
diff --git a/include/msvcrt/string.h b/include/msvcrt/string.h
index 327945e..a963553 100644
--- a/include/msvcrt/string.h
+++ b/include/msvcrt/string.h
@@ -56,8 +56,19 @@ typedef unsigned int size_t;
extern "C" {
#endif
+#ifndef _CRT_MEMORY_DEFINED
+#define _CRT_MEMORY_DEFINED
+void* memchr(const void*,int,size_t);
+int memcmp(const void*,const void*,size_t);
+void* memcpy(void*,const void*,size_t);
+void* memset(void*,int,size_t);
void* _memccpy(void*,const void*,int,unsigned int);
int _memicmp(const void*,const void*,unsigned int);
+
+static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
+static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
+#endif /* _CRT_MEMORY_DEFINED */
+
int _strcmpi(const char*,const char*);
char* _strdup(const char*);
char* _strerror(const char*);
@@ -70,11 +81,7 @@ char* _strrev(char*);
char* _strset(char*,int);
char* _strupr(char*);
-void* memchr(const void*,int,size_t);
-int memcmp(const void*,const void*,size_t);
-void* memcpy(void*,const void*,size_t);
void* memmove(void*,const void*,size_t);
-void* memset(void*,int,size_t);
char* strcat(char*,const char*);
char* strchr(const char*,int);
int strcmp(const char*,const char*);
@@ -128,8 +135,6 @@ size_t wcsxfrm(wchar_t*,const wchar_t*,size_t);
#endif
-static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
-static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
static inline int strcasecmp(const char* s1, const char* s2) { return _stricmp(s1, s2); }
static inline int strcmpi(const char* s1, const char* s2) { return _strcmpi(s1, s2); }
static inline char* strdup(const char* buf) { return _strdup(buf); }
More information about the wine-cvs
mailing list