From 42e800fe796665d914f8ab7f93495e0c1d9602c2 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Wed, 7 May 2014 09:27:59 +0200 Subject: [PATCH] msvcrt: Fix ioinfo structure size. --- dlls/msvcr100/msvcr100.spec | 3 +-- dlls/msvcr110/msvcr110.spec | 3 +-- dlls/msvcr80/msvcr80.spec | 3 +-- dlls/msvcr90/msvcr90.spec | 3 +-- dlls/msvcrt/file.c | 11 +++++++++++ 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 98e953938bd..77ba21d1946 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -573,7 +573,7 @@ @ cdecl ___unguarded_readlc_active_add_func() MSVCRT____unguarded_readlc_active_add_func @ extern __argc MSVCRT___argc @ extern __argv MSVCRT___argv -### extern __badioinfo #don't forward to msvcrt.__badioinfo, it has different size +@ extern __badioinfo MSVCRT___badioinfo @ cdecl __clean_type_info_names_internal(ptr) @ cdecl -arch=i386 __control87_2(long long ptr ptr) @ stub __create_locale @@ -648,7 +648,6 @@ @ cdecl __p__wenviron() MSVCRT___p__wenviron @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr @ cdecl __pctype_func() MSVCRT___pctype_func -#FIXME: add correct __pioinfo implementation @ extern __pioinfo MSVCRT___pioinfo @ stub __pwctype_func @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index cdca5c32b37..1afb3f274d8 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -900,7 +900,7 @@ @ cdecl ___unguarded_readlc_active_add_func() MSVCRT____unguarded_readlc_active_add_func @ extern __argc MSVCRT___argc @ extern __argv MSVCRT___argv -### extern __badioinfo #don't forward to msvcrt.__badioinfo, it has different size +@ extern __badioinfo MSVCRT___badioinfo @ cdecl __clean_type_info_names_internal(ptr) @ cdecl -arch=i386 __control87_2(long long ptr ptr) @ stub __create_locale @@ -997,7 +997,6 @@ @ cdecl __p__wenviron() MSVCRT___p__wenviron @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr @ cdecl __pctype_func() MSVCRT___pctype_func -#FIXME: add correct __pioinfo implementation @ extern __pioinfo MSVCRT___pioinfo @ stub __pwctype_func @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 13ea9f01a75..2aee5200cb4 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -207,7 +207,7 @@ @ cdecl ___unguarded_readlc_active_add_func() MSVCRT____unguarded_readlc_active_add_func @ extern __argc MSVCRT___argc @ extern __argv MSVCRT___argv -### extern __badioinfo #don't forward to msvcrt.__badioinfo, it has different size +@ extern __badioinfo MSVCRT___badioinfo @ cdecl __clean_type_info_names_internal(ptr) @ cdecl -arch=i386 __control87_2(long long ptr ptr) @ stub __create_locale @@ -297,7 +297,6 @@ @ cdecl __p__winver() @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr @ cdecl __pctype_func() MSVCRT___pctype_func -#FIXME: add correct __pioinfo implementation @ extern __pioinfo MSVCRT___pioinfo @ stub __pwctype_func @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 710cb15c2c2..766d62e07ae 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -198,7 +198,7 @@ @ cdecl ___unguarded_readlc_active_add_func() MSVCRT____unguarded_readlc_active_add_func @ extern __argc MSVCRT___argc @ extern __argv MSVCRT___argv -### extern __badioinfo #don't forward to msvcrt.__badioinfo, it has different size +@ extern __badioinfo MSVCRT___badioinfo @ cdecl __clean_type_info_names_internal(ptr) @ cdecl -arch=i386 __control87_2(long long ptr ptr) @ stub __create_locale @@ -281,7 +281,6 @@ @ cdecl __p__wenviron() MSVCRT___p__wenviron @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr @ cdecl __pctype_func() MSVCRT___pctype_func -#FIXME: add correct __pioinfo implementation @ extern __pioinfo MSVCRT___pioinfo @ stub __pwctype_func @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index 957cfafd0cc..77a0fedf486 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -88,6 +88,17 @@ typedef struct { char lookahead[3]; int exflag; CRITICAL_SECTION crit; +#if _MSVCR_VER >= 80 + char textmode : 7; + char unicode : 1; + char pipech2[2]; + __int64 startpos; + BOOL utf8translations; +#endif +#if _MSVCR_VER >= 90 + char dbcsBuffer; + BOOL dbcsBufferUsed; +#endif } ioinfo; /*********************************************************************