Module: wine Branch: master Commit: cba2102b7e39bc2d4476bc35e5c137c8c3d8099c URL: http://source.winehq.org/git/wine.git/?a=commit;h=cba2102b7e39bc2d4476bc35e5...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Sep 11 16:07:57 2012 +0200
msvcp90: Fixed reading lines containing only delimiter in basic_istream::getline_bstr_delim.
---
dlls/msvcp90/ios.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c index 7cf646b..82010c6 100644 --- a/dlls/msvcp90/ios.c +++ b/dlls/msvcp90/ios.c @@ -8103,8 +8103,11 @@ basic_istream_char* __cdecl basic_istream_char_getline_bstr_delim( if(basic_istream_char_sentry_create(istream, TRUE)) { MSVCP_basic_string_char_clear(str);
- for(c = basic_istream_char_get(istream); c!=delim && c!=EOF; - c = basic_istream_char_get(istream)) { + c = basic_istream_char_get(istream); + if(c != EOF) + state = IOSTATE_goodbit; + + for(; c!=delim && c!=EOF; c = basic_istream_char_get(istream)) { state = IOSTATE_goodbit; MSVCP_basic_string_char_append_ch(str, c); } @@ -9523,8 +9526,11 @@ basic_istream_wchar* __cdecl basic_istream_wchar_getline_bstr_delim( if(basic_istream_wchar_sentry_create(istream, TRUE)) { MSVCP_basic_string_wchar_clear(str);
- for(c = basic_istream_wchar_get(istream); c!=delim && c!=WEOF; - c = basic_istream_wchar_get(istream)) { + c = basic_istream_wchar_get(istream); + if(c != WEOF) + state = IOSTATE_goodbit; + + for(; c!=delim && c!=WEOF; c = basic_istream_wchar_get(istream)) { state = IOSTATE_goodbit; MSVCP_basic_string_wchar_append_ch(str, c); }