[ros-diffs] [greatlrd] 20245: Fix partily of bug 1149, left todo is binary show. Follow thing : Hex, dec, oct should work fine now and convert betwin them

greatlrd at svn.reactos.com greatlrd at svn.reactos.com
Sun Dec 18 17:03:39 CET 2005


Fix partily of bug 1149, left todo is binary show. Follow thing : Hex,
dec, oct should work fine now and convert betwin them
Modified: trunk/reactos/subsys/system/calc/winecalc.c
  _____  

Modified: trunk/reactos/subsys/system/calc/winecalc.c
--- trunk/reactos/subsys/system/calc/winecalc.c	2005-12-18 12:32:05 UTC
(rev 20244)
+++ trunk/reactos/subsys/system/calc/winecalc.c	2005-12-18 16:03:35 UTC
(rev 20245)
@@ -2941,19 +2941,29 @@

     TCHAR s[CALC_BUF_SIZE];
     int point=0;
     calcfloat real;
+    static int old_base = NBASE_DECIMAL;
 
+   
     switch (calc->numBase) {
-    case NBASE_HEX:
-        real = calc_atof(calc->buffer, calc->numBase);
-        _stprintf(calc->display, TEXT("%lx"), (long)real);
+    case NBASE_HEX:      
+        real = calc_atof(calc->buffer, old_base);
+        _stprintf(calc->display, _T("%lx"), (long)real);   
+        _stprintf(calc->buffer, _T("%lx"), (long)real);         
+        old_base = NBASE_HEX;        
         break;
 
-    case NBASE_OCTAL:
-        _stprintf(calc->display, TEXT("%lo"), (long)calc->buffer);
+    case NBASE_OCTAL:  
+         real = calc_atof(calc->buffer, old_base);
+        _stprintf(calc->display, TEXT("%lo"), (long)real);
+        _stprintf(calc->buffer, TEXT("%lo"), (long)real);
+        old_base = NBASE_OCTAL;
         break;
 
     case NBASE_BINARY:
-        _stprintf(calc->display, TEXT("%lx"), (long)calc->buffer);
+        real = calc_atof(calc->buffer, old_base);
+
+        _stprintf(calc->display, TEXT("%lx"), (long)real);
+        old_base = NBASE_BINARY;
         break;
 
     case NBASE_DECIMAL:
@@ -3031,7 +3041,9 @@
                 calc->display[0] = 0;
             _tcscat(calc->display, s);
         }
+        old_base = NBASE_DECIMAL;
     }
+   
     InvalidateRect(calc->hWnd, NULL, FALSE);
     UpdateWindow(calc->hWnd);
 }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20051218/ed6f5c15/attachment.html


More information about the Ros-diffs mailing list