Ilya Shpigor wrote:
+static INT +DATETIME_GetText (DATETIME_INFO *infoPtr, INT count, LPWSTR dst) +{
- WCHAR buf[80];
- int i;
- if(!count) return 0;
- dst[0] = 0;
- for (i = 0; i < infoPtr->nrFields; i++)
- {
DATETIME_ReturnTxt(infoPtr, i, buf, sizeof(buf)/sizeof(buf[0]));
if ((strlenW(dst) + strlenW(buf)) <= count)
strcatW(dst, buf);
else break;
- }
- return strlenW(dst);
+}
I don't think it's a right way. You probably should use window text instead updating it on every change, see how GetWindowText is implemented.
@@ -674,6 +675,10 @@ static void test_wm_set_get_text(void) ret = SendMessage(hWnd, WM_GETTEXT, sizeof(buff), (LPARAM)buff); ok(strcmp(buff, a_str) != 0, "Expected text not to change, got %s\n", buff);
- GetSystemTime(&stime);
- sprintf(time, "%d.%d.%d", stime.wDay, stime.wMonth, stime.wYear);
- ok(!strcmp(buff, time), "Expected %s, got %s\n", time, buff);
- DestroyWindow(hWnd);
}
Test is definitely wrong. You can't expect DD.MMMM.YYYY pattern here, it's locale dependent.