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);
TextOut(hdc, 10, 10, c1, _tcslen(c1));
TextOut(hdc, 10, 10, c1, _tcslen(c1));
TextOut(hdc, 10, 35, c2, _tcslen(c2));
TextOut(hdc, 10, 50, c3, _tcslen(c3));
TextOut(hdc, 10, 75, c4, _tcslen(c4));
TextOut(hdc, 10, 90, c5, _tcslen(c5));
TextOut(hdc, 10, 90, c5, _tcslen(c5));
SelectObject(hdc, hFontOrg);

View file

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

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);
calcfloat calc_atof(TCHAR *s, int base);
calcfloat calc_atof(const TCHAR *s, int base);
void calc_ftoa(CALC *calc, calcfloat r, TCHAR *buf);
long factorial(long n);