Daniel Lehman : msvcp: Sync istream<>::peek implementations.
Alexandre Julliard
julliard at winehq.org
Tue Oct 30 13:27:35 CDT 2012
Module: wine
Branch: master
Commit: c868db7668ffc24319d65d8a4843864f19d677fc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c868db7668ffc24319d65d8a4843864f19d677fc
Author: Daniel Lehman <dlehman at esri.com>
Date: Fri Oct 26 10:18:58 2012 -0700
msvcp: Sync istream<>::peek implementations.
---
dlls/msvcp100/ios.c | 8 ++++++++
dlls/msvcp60/ios.c | 8 ++++++++
dlls/msvcp71/ios.c | 8 ++++++++
3 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/dlls/msvcp100/ios.c b/dlls/msvcp100/ios.c
index 278abd8..32f36ce 100644
--- a/dlls/msvcp100/ios.c
+++ b/dlls/msvcp100/ios.c
@@ -5821,6 +5821,10 @@ int __thiscall basic_istream_char_peek(basic_istream_char *this)
if(basic_istream_char_sentry_create(this, TRUE))
ret = basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base));
basic_istream_char_sentry_destroy(this);
+
+ if (ret == EOF)
+ basic_ios_char_setstate(base, IOSTATE_eofbit);
+
return ret;
}
@@ -6949,6 +6953,10 @@ unsigned short __thiscall basic_istream_wchar_peek(basic_istream_wchar *this)
if(basic_istream_wchar_sentry_create(this, TRUE))
ret = basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base));
basic_istream_wchar_sentry_destroy(this);
+
+ if (ret == WEOF)
+ basic_ios_wchar_setstate(base, IOSTATE_eofbit);
+
return ret;
}
diff --git a/dlls/msvcp60/ios.c b/dlls/msvcp60/ios.c
index 71ff193..0bccd5f 100644
--- a/dlls/msvcp60/ios.c
+++ b/dlls/msvcp60/ios.c
@@ -7212,6 +7212,10 @@ int __thiscall basic_istream_char_peek(basic_istream_char *this)
if(basic_istream_char_sentry_create(this, TRUE))
ret = basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base));
basic_istream_char_sentry_destroy(this);
+
+ if (ret == EOF)
+ basic_ios_char_setstate(base, IOSTATE_eofbit);
+
return ret;
}
@@ -8467,6 +8471,10 @@ unsigned short __thiscall basic_istream_wchar_peek(basic_istream_wchar *this)
if(basic_istream_wchar_sentry_create(this, TRUE))
ret = basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base));
basic_istream_wchar_sentry_destroy(this);
+
+ if (ret == WEOF)
+ basic_ios_wchar_setstate(base, IOSTATE_eofbit);
+
return ret;
}
diff --git a/dlls/msvcp71/ios.c b/dlls/msvcp71/ios.c
index be8f744..280ce86 100644
--- a/dlls/msvcp71/ios.c
+++ b/dlls/msvcp71/ios.c
@@ -7544,6 +7544,10 @@ int __thiscall basic_istream_char_peek(basic_istream_char *this)
if(basic_istream_char_sentry_create(this, TRUE))
ret = basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base));
basic_istream_char_sentry_destroy(this);
+
+ if (ret == EOF)
+ basic_ios_char_setstate(base, IOSTATE_eofbit);
+
return ret;
}
@@ -8802,6 +8806,10 @@ unsigned short __thiscall basic_istream_wchar_peek(basic_istream_wchar *this)
if(basic_istream_wchar_sentry_create(this, TRUE))
ret = basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base));
basic_istream_wchar_sentry_destroy(this);
+
+ if (ret == WEOF)
+ basic_ios_wchar_setstate(base, IOSTATE_eofbit);
+
return ret;
}
More information about the wine-cvs
mailing list