--- np2/win9x/dialog/d_clnd.cpp 2005/02/07 15:39:27 1.5 +++ np2/win9x/dialog/d_clnd.cpp 2005/03/20 13:12:50 1.8 @@ -10,6 +10,15 @@ #include "calendar.h" +#if !defined(OSLANG_UTF8) +#define tchar_2x str_2x +#define tchar_2d str_2d +#else +static const TCHAR tchar_2x[] = _T("%.2x"); +static const TCHAR tchar_2d[] = _T("%.2d"); +#endif + + static UINT8 cbuf[8]; typedef struct { @@ -33,10 +42,10 @@ static void set_cal2dlg(HWND hWnd, const for (i=0; i<6; i++) { if (i != 1) { - wsprintf(work, str_2x, cbuf[i]); + wsprintf(work, tchar_2x, cbuf[i]); } else { - wsprintf(work, str_2d, cbuf[1] >> 4); + wsprintf(work, tchar_2d, cbuf[1] >> 4); } SetDlgItemText(hWnd, vircal[i].res, work); } @@ -52,14 +61,11 @@ static void vircalendar(HWND hWnd, BOOL EnableWindow(GetDlgItem(hWnd, IDC_SETNOW), disp); } -static UINT32 getbcd(char *str, int len) { +static UINT8 getbcd(const TCHAR *str, int len) { - UINT32 ret; - UINT8 c; + UINT ret; + TCHAR c; - if (!(*str)) { - return(0xff); - } ret = 0; while(len--) { c = *str++; @@ -70,14 +76,14 @@ static UINT32 getbcd(char *str, int len) return(0xff); } ret <<= 4; - ret |= (UINT8)(c - '0'); + ret |= (UINT)(c - '0'); } - return(ret); + return((UINT8)ret); } LRESULT CALLBACK ClndDialogProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { - char work[32]; + TCHAR work[32]; UINT8 b; int i; HWND subwnd; @@ -109,8 +115,8 @@ LRESULT CALLBACK ClndDialogProc(HWND hWn } for (i=0; i<6; i++) { GetDlgItemText(hWnd, vircal[i].res, - work, sizeof(work)); - b = (UINT8)getbcd(work, 2); + work, NELEMENTS(work)); + b = getbcd(work, 2); if ((b >= vircal[i].min) && (b <= vircal[i].max)) { if (i == 1) { b = ((b & 0x10) * 10) + (b << 4);