oleaut32: Fix fractal calculation

André Hentschel nerv at dawncrow.de
Sun Feb 28 11:45:27 CST 2010


---
 dlls/oleaut32/tests/varformat.c |    2 +-
 dlls/oleaut32/varformat.c       |    8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/oleaut32/tests/varformat.c b/dlls/oleaut32/tests/varformat.c
index 1c476a0..fd598cb 100644
--- a/dlls/oleaut32/tests/varformat.c
+++ b/dlls/oleaut32/tests/varformat.c
@@ -390,7 +390,7 @@ static void test_VarFormat(void)
   VARFMT(VT_R8,V_R8,8.0995,"#.##",S_OK,"8.1");
   VARFMT(VT_R8,V_R8,0.0994,"#.##",S_OK,".1");
   VARFMT(VT_R8,V_R8,1.00,"#,##0.00",S_OK,"1.00");
-  todo_wine VARFMT(VT_R8,V_R8,0.0995,"#.###",S_OK,".1");
+  VARFMT(VT_R8,V_R8,0.0995,"#.###",S_OK,".1");
 
 
   /* 'out' is not cleared */
diff --git a/dlls/oleaut32/varformat.c b/dlls/oleaut32/varformat.c
index 9db390d..0b5bd1b 100644
--- a/dlls/oleaut32/varformat.c
+++ b/dlls/oleaut32/varformat.c
@@ -1296,7 +1296,7 @@ static HRESULT VARIANT_FormatNumber(LPVARIANT pVarIn, LPOLESTR lpszFormat,
     /* Rounding the number */
     if (have_frac > need_frac)
     {
-      prgbDig = &rgbDig[have_int + need_frac ? need_frac + 1 : 0];
+      prgbDig = &rgbDig[have_int + need_frac];
       if (*prgbDig < 5) prgbDig--;
       have_frac = need_frac;
       if (*prgbDig >= 5)
@@ -1320,10 +1320,10 @@ static HRESULT VARIANT_FormatNumber(LPVARIANT pVarIn, LPOLESTR lpszFormat,
         }
         else
           (*prgbDig)++;
-        /* We converted trailing digits to zeroes => have_frac has changed */
-        while (have_frac > 0 && rgbDig[have_int + have_frac - 1] == 0)
-          have_frac--;
       }
+      /* We converted trailing digits to zeroes => have_frac has changed */
+      while (have_frac > 0 && rgbDig[have_int + have_frac - 1] == 0)
+        have_frac--;
     }
     TRACE("have_int=%d,need_int=%d,have_frac=%d,need_frac=%d,pad=%d,exp=%d\n",
           have_int, need_int, have_frac, need_frac, pad, exponent);
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list