PATCH 3
msvcrt.diff
minor fixes to msvcrt
- include/msvcrt/limits.h
very much synced with MSVC, needed by MFC
- include/msvcrt/math.h
I'm not sure who submitted a broken empty math.h header. Just to show that no one is doing serious winlib work lately, or they are not reporting about it. This header is the one I have for use with STLPort, it will Just #include the standard lib one. If it is not acceptable than at least completely remove the one in now.
- include/msvcrt/mbctype.h
Some missing constants for the _setmbcp, used by MFC
- include/msvcrt/wchar.h
Some code was copy pasted from <sys/stat.h> and was protected by an #ifndef. The <sys/stat.h> added some newer definitions that where not added to wchar. This patch removes the old definitions and instead #includes <sys/stat.h>. It is the same way in ms-headers. In fact I had some code that presupposed stat.h included by wchar that would hence not compile under the old version.
? include/msvcrt/exception
? include/msvcrt/float.h
? include/msvcrt/new
? include/msvcrt/stdarg.h
? include/msvcrt/typeinfo
Index: include/msvcrt/limits.h
===================================================================
RCS file: /home/wine/wine/include/msvcrt/limits.h,v
retrieving revision 1.1
diff -u -r1.1 limits.h
--- include/msvcrt/limits.h 2 Sep 2003 00:58:21 -0000 1.1
+++ include/msvcrt/limits.h 10 Mar 2004 08:36:47 -0000
@@ -1,10 +1,32 @@
#ifndef __WINE_LIMITS_H
#define __WINE_LIMITS_H
-#define INT_MAX 2147483647
-#define INT_MIN (-2147483648)
-#define SHRT_MAX 32767
-#define SHRT_MIN (-32768)
+/*chars and mb's*/
+#define CHAR_BIT 8
+#define CHAR_MIN (-128)
+#define CHAR_MAX 127
+#define SCHAR_MIN (-128)
+#define SCHAR_MAX 127
+#define UCHAR_MIN 0
+#define UCHAR_MAX 0xff
+#define MB_LEN_MAX 2
+
+/*shorts ints longs*/
+#define SHRT_MIN 0x8000
+#define SHRT_MAX 0x0fff
+
+#define USHRT_MAX 0xffff
+#define INT_MIN (-2147483647 - 1)
+#define INT_MAX 2147483647
+#define UINT_MAX 0xffffffff
+#define LONG_MIN (-2147483647L - 1)
+#define LONG_MAX 2147483647L
+#define ULONG_MAX 0xffffffffUL
+
+/* __int64 */
+#define _I64_MIN (-9223372036854775807i64 - 1)
+#define _I64_MAX 9223372036854775807i64
+#define _UI64_MAX 0xffffffffffffffffui64
#ifdef __cplusplus
extern "C" {
Index: include/msvcrt/math.h
===================================================================
RCS file: /home/wine/wine/include/msvcrt/math.h,v
retrieving revision 1.1
diff -u -r1.1 math.h
--- include/msvcrt/math.h 2 Sep 2003 00:58:21 -0000 1.1
+++ include/msvcrt/math.h 10 Mar 2004 08:36:47 -0000
@@ -1,12 +1,14 @@
-#ifndef __WINE_MATH_H
-#define __WINE_MATH_H
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include <../include/math.h>
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINE_MATH_H */
Index: include/msvcrt/mbctype.h
===================================================================
RCS file: /home/wine/wine/include/msvcrt/mbctype.h,v
retrieving revision 1.4
diff -u -r1.4 mbctype.h
--- include/msvcrt/mbctype.h 18 Jul 2003 22:57:15 -0000 1.4
+++ include/msvcrt/mbctype.h 10 Mar 2004 08:36:47 -0000
@@ -30,6 +30,12 @@
unsigned char* __p__mbctype(void);
#define _mbctype (__p__mbctype())
+/* _setmbcp parameter defines */
+#define _MB_CP_SBCS 0
+#define _MB_CP_OEM -2
+#define _MB_CP_ANSI -3
+#define _MB_CP_LOCALE -4
+
int _getmbcp(void);
int _ismbbalnum(unsigned int);
int _ismbbalpha(unsigned int);
Index: include/msvcrt/wchar.h
===================================================================
RCS file: /home/wine/wine/include/msvcrt/wchar.h,v
retrieving revision 1.5
diff -u -r1.5 wchar.h
--- include/msvcrt/wchar.h 18 Jul 2003 22:57:15 -0000 1.5
+++ include/msvcrt/wchar.h 10 Mar 2004 08:36:48 -0000
@@ -151,35 +151,7 @@
#endif /* MSVCRT_WFINDDATA_T_DEFINED */
#ifndef MSVCRT_STAT_DEFINED
-#define MSVCRT_STAT_DEFINED
-
-struct _stat {
- _dev_t st_dev;
- _ino_t st_ino;
- unsigned short st_mode;
- short st_nlink;
- short st_uid;
- short st_gid;
- _dev_t st_rdev;
- MSVCRT(_off_t) st_size;
- MSVCRT(time_t) st_atime;
- MSVCRT(time_t) st_mtime;
- MSVCRT(time_t) st_ctime;
-};
-
-struct _stati64 {
- _dev_t st_dev;
- _ino_t st_ino;
- unsigned short st_mode;
- short st_nlink;
- short st_uid;
- short st_gid;
- _dev_t st_rdev;
- __int64 st_size;
- MSVCRT(time_t) st_atime;
- MSVCRT(time_t) st_mtime;
- MSVCRT(time_t) st_ctime;
-};
+#include <sys/stat.h>
#endif /* MSVCRT_STAT_DEFINED */
/* ASCII char classification table - binary compatible */