Calc: TCHAR-izing, formatting and const-correctness

svn path=/trunk/; revision=18288
This commit is contained in:
Nathan Woods 2005-10-05 23:59:13 +00:00
parent d546f71ac4
commit 2c2cc6d808
3 changed files with 13 additions and 38 deletions

View file

@ -72,11 +72,11 @@ BOOL CALLBACK AboutDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
SetBkMode(hdc, TRANSPARENT); SetBkMode(hdc, TRANSPARENT);
TextOut(hdc, 10, 10, c1, _tcslen(c1)); TextOut(hdc, 10, 10, c1, _tcslen(c1));
TextOut(hdc, 10, 35, c2, _tcslen(c2)); TextOut(hdc, 10, 35, c2, _tcslen(c2));
TextOut(hdc, 10, 50, c3, _tcslen(c3)); TextOut(hdc, 10, 50, c3, _tcslen(c3));
TextOut(hdc, 10, 75, c4, _tcslen(c4)); TextOut(hdc, 10, 75, c4, _tcslen(c4));
TextOut(hdc, 10, 90, c5, _tcslen(c5)); TextOut(hdc, 10, 90, c5, _tcslen(c5));
SelectObject(hdc, hFontOrg); SelectObject(hdc, hFontOrg);

View file

@ -124,9 +124,6 @@ int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmd
WNDCLASS wc; WNDCLASS wc;
HWND hWnd; HWND hWnd;
HACCEL haccel; HACCEL haccel;
#ifdef UNICODE
CHAR s_ansi[CALC_BUF_SIZE];
#endif
TCHAR s[CALC_BUF_SIZE]; TCHAR s[CALC_BUF_SIZE];
int r; int r;
@ -139,12 +136,7 @@ int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmd
CALC_BUF_SIZE CALC_BUF_SIZE
); );
#ifdef UNICODE calc.sciMode = _ttoi(s);
wcstombs(s_ansi, s, sizeof(s_ansi));
calc.sciMode = atoi(s_ansi);
#else
calc.sciMode = atoi(s);
#endif
if (calc.sciMode != 0 && if (calc.sciMode != 0 &&
calc.sciMode != 1) calc.sciMode != 1)
@ -157,12 +149,7 @@ int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmd
CALC_BUF_SIZE CALC_BUF_SIZE
); );
#ifdef UNICODE calc.digitGrouping = _ttoi(s);
wcstombs(s_ansi, s, sizeof(s_ansi));
calc.digitGrouping = atoi(s_ansi);
#else
calc.digitGrouping = atoi(s);
#endif
if (calc.digitGrouping != 0 && if (calc.digitGrouping != 0 &&
calc.digitGrouping != 1) calc.digitGrouping != 1)
@ -3198,38 +3185,26 @@ oper = (%C)\n"),
MessageBox(calc->hWnd, s, title, MB_OK); MessageBox(calc->hWnd, s, title, MB_OK);
} }
calcfloat calc_atof(TCHAR *s, int base) calcfloat calc_atof(const TCHAR *s, int base)
{ {
// converts from another base to decimal calcfloat
#ifdef UNICODE #ifdef UNICODE
char s_ansi[128]; char s_ansi[128];
wcstombs(s_ansi, s, sizeof(s_ansi)); #endif
// converts from another base to decimal calcfloat
switch (base) { switch (base) {
case NBASE_DECIMAL: case NBASE_DECIMAL:
wcstombs(s_ansi, s, sizeof(s_ansi));
return CALC_ATOF(s_ansi); return CALC_ATOF(s_ansi);
case NBASE_HEX: case NBASE_HEX:
return (calcfloat)strtol(s_ansi, NULL, 16); return (calcfloat)_tcstol(s, NULL, 16);
case NBASE_OCTAL: case NBASE_OCTAL:
return (calcfloat)strtol(s_ansi, NULL, 8); return (calcfloat)_tcstol(s, NULL, 8);
case NBASE_BINARY: case NBASE_BINARY:
return (calcfloat)strtol(s_ansi, NULL, 2); return (calcfloat)_tcstol(s, NULL, 2);
default: default:
break; break;
} }
#else
switch (base) {
case NBASE_DECIMAL:
return CALC_ATOF(s);
case NBASE_HEX:
return (calcfloat)strtol(s, NULL, 16);
case NBASE_OCTAL:
return (calcfloat)strtol(s, NULL, 8);
case NBASE_BINARY:
return (calcfloat)strtol(s, NULL, 2);
default:
break;
}
#endif
return 0L; return 0L;
} }

View file

@ -355,7 +355,7 @@ void calc_setmenuitem_radio(HMENU hMenu, UINT id);
void show_debug(CALC *calc, TCHAR *title, long wParam, long lParam); void show_debug(CALC *calc, TCHAR *title, long wParam, long lParam);
calcfloat calc_atof(TCHAR *s, int base); calcfloat calc_atof(const TCHAR *s, int base);
void calc_ftoa(CALC *calc, calcfloat r, TCHAR *buf); void calc_ftoa(CALC *calc, calcfloat r, TCHAR *buf);
long factorial(long n); long factorial(long n);