Piotr Caban : msvcp90: Read last character of bool string in num_get_do_get_bool.

Alexandre Julliard julliard at winehq.org
Mon Jan 27 13:32:52 CST 2014


Module: wine
Branch: master
Commit: 12cfebb683fa71d6a0cab967620533a7e25821a7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=12cfebb683fa71d6a0cab967620533a7e25821a7

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Jan 20 15:08:27 2014 +0100

msvcp90: Read last character of bool string in num_get_do_get_bool.

---

 dlls/msvcp60/locale.c |   12 ++++++++----
 dlls/msvcp90/locale.c |   12 ++++++++----
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/dlls/msvcp60/locale.c b/dlls/msvcp60/locale.c
index a2ce279..6b95521 100644
--- a/dlls/msvcp60/locale.c
+++ b/dlls/msvcp60/locale.c
@@ -4828,8 +4828,7 @@ static istreambuf_iterator_wchar* num_get_do_get_bool(const num_get *this,
         pfalse = basic_string_wchar_c_str(&false_bstr);
         ptrue = basic_string_wchar_c_str(&true_bstr);
 
-        for(istreambuf_iterator_wchar_val(&first); first.strbuf;
-                istreambuf_iterator_wchar_inc(&first)) {
+        for(istreambuf_iterator_wchar_val(&first); first.strbuf;) {
             if(pfalse && *pfalse && first.val!=*pfalse)
                 pfalse = NULL;
             if(ptrue && *ptrue && first.val!=*ptrue)
@@ -4845,6 +4844,9 @@ static istreambuf_iterator_wchar* num_get_do_get_bool(const num_get *this,
             if(ptrue)
                 ptrue++;
 
+            if(pfalse || ptrue)
+                istreambuf_iterator_wchar_inc(&first);
+
             if((!pfalse || !*pfalse) && (!ptrue || !*ptrue))
                 break;
         }
@@ -5608,8 +5610,7 @@ istreambuf_iterator_char *__thiscall num_get_char_do_get_bool(const num_get *thi
         pfalse = basic_string_char_c_str(&false_bstr);
         ptrue = basic_string_char_c_str(&true_bstr);
 
-        for(istreambuf_iterator_char_val(&first); first.strbuf;
-                istreambuf_iterator_char_inc(&first)) {
+        for(istreambuf_iterator_char_val(&first); first.strbuf;) {
             if(pfalse && *pfalse && first.val!=*pfalse)
                 pfalse = NULL;
             if(ptrue && *ptrue && first.val!=*ptrue)
@@ -5625,6 +5626,9 @@ istreambuf_iterator_char *__thiscall num_get_char_do_get_bool(const num_get *thi
             if(ptrue)
                 ptrue++;
 
+            if(pfalse || ptrue)
+                istreambuf_iterator_char_inc(&first);
+
             if((!pfalse || !*pfalse) && (!ptrue || !*ptrue))
                 break;
         }
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
index 02ccb0e..2cdd002 100644
--- a/dlls/msvcp90/locale.c
+++ b/dlls/msvcp90/locale.c
@@ -5850,8 +5850,7 @@ static istreambuf_iterator_wchar* num_get_do_get_bool(const num_get *this,
         pfalse = MSVCP_basic_string_wchar_c_str(&false_bstr);
         ptrue = MSVCP_basic_string_wchar_c_str(&true_bstr);
 
-        for(istreambuf_iterator_wchar_val(&first); first.strbuf;
-                istreambuf_iterator_wchar_inc(&first)) {
+        for(istreambuf_iterator_wchar_val(&first); first.strbuf;) {
             if(pfalse && *pfalse && first.val!=*pfalse)
                 pfalse = NULL;
             if(ptrue && *ptrue && first.val!=*ptrue)
@@ -5867,6 +5866,9 @@ static istreambuf_iterator_wchar* num_get_do_get_bool(const num_get *this,
             if(ptrue)
                 ptrue++;
 
+            if(pfalse || ptrue)
+                istreambuf_iterator_wchar_inc(&first);
+
             if((!pfalse || !*pfalse) && (!ptrue || !*ptrue))
                 break;
         }
@@ -6823,8 +6825,7 @@ istreambuf_iterator_char *__thiscall num_get_char_do_get_bool(const num_get *thi
         pfalse = MSVCP_basic_string_char_c_str(&false_bstr);
         ptrue = MSVCP_basic_string_char_c_str(&true_bstr);
 
-        for(istreambuf_iterator_char_val(&first); first.strbuf;
-                istreambuf_iterator_char_inc(&first)) {
+        for(istreambuf_iterator_char_val(&first); first.strbuf;) {
             if(pfalse && *pfalse && first.val!=*pfalse)
                 pfalse = NULL;
             if(ptrue && *ptrue && first.val!=*ptrue)
@@ -6840,6 +6841,9 @@ istreambuf_iterator_char *__thiscall num_get_char_do_get_bool(const num_get *thi
             if(ptrue)
                 ptrue++;
 
+            if(pfalse || ptrue)
+                istreambuf_iterator_char_inc(&first);
+
             if((!pfalse || !*pfalse) && (!ptrue || !*ptrue))
                 break;
         }




More information about the wine-cvs mailing list