calc_buffer_display():
eliminate unnecessary copying ( and potential buffer overrun )
eliminate variable naming conflicts
Modified: trunk/reactos/subsys/system/calc/winecalc.c

Modified: trunk/reactos/subsys/system/calc/winecalc.c
--- trunk/reactos/subsys/system/calc/winecalc.c	2005-10-18 04:15:55 UTC (rev 18549)
+++ trunk/reactos/subsys/system/calc/winecalc.c	2005-10-18 04:23:50 UTC (rev 18550)
@@ -2938,7 +2938,6 @@
 void calc_buffer_display(CALC *calc) {
     TCHAR *p;
     TCHAR s[CALC_BUF_SIZE];
-    TCHAR r[CALC_BUF_SIZE] = TEXT("0");
     int point=0;
     calcfloat real;
 
@@ -2966,11 +2965,10 @@
             else {
                 int i = 0;
                 int lz = 0;
-                calcfloat r;
                 int exp = 0;
 
-                r = calc_atof(calc->buffer, calc->numBase);
-                _stprintf(s, FMT_DESC_EXP, r);
+                real = calc_atof(calc->buffer, calc->numBase);
+                _stprintf(s, FMT_DESC_EXP, real);
                 // remove leading zeros in exponent
                 p = s;
                 while (*p) {
@@ -3026,13 +3024,11 @@
             if (!point && calc->numBase == NBASE_DECIMAL)
                 _tcscat(s, TEXT("."));
 
-            if (*s == TEXT('.')) {
-                _tcscat(r, s);
-                _tcscpy(calc->display, r);
-            }
-            else {
-                _tcscpy(calc->display, s);
-            }
+            if (*s == TEXT('.'))
+                _tcscpy(calc->display, TEXT("0"));
+            else
+                calc->display[0] = 0;
+            _tcscat(calc->display, s);
         }
     }
     InvalidateRect(calc->hWnd, NULL, FALSE);