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