Vincent Povirk : comctl32: Use current month and year when checking day of month.

Alexandre Julliard julliard at winehq.org
Fri Apr 1 09:40:59 CDT 2011


Module: wine
Branch: master
Commit: 4d1fca24be9730707b5fb8510dc19c03c14074e1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4d1fca24be9730707b5fb8510dc19c03c14074e1

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Thu Mar 31 13:55:24 2011 -0500

comctl32: Use current month and year when checking day of month.

---

 dlls/comctl32/datetime.c       |    3 ++-
 dlls/comctl32/tests/datetime.c |    9 +++++++++
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/dlls/comctl32/datetime.c b/dlls/comctl32/datetime.c
index 8269758..bc643eb 100644
--- a/dlls/comctl32/datetime.c
+++ b/dlls/comctl32/datetime.c
@@ -167,7 +167,8 @@ DATETIME_SetSystemTime (DATETIME_INFO *infoPtr, DWORD flag, const SYSTEMTIME *sy
     if (flag == GDT_VALID) {
       if (systime->wYear < 1601 || systime->wYear > 30827 ||
           systime->wMonth < 1 || systime->wMonth > 12 ||
-          systime->wDay < 1 || systime->wDay > 31 ||
+          systime->wDay < 1 ||
+          systime->wDay > MONTHCAL_MonthLength(systime->wMonth, systime->wYear) ||
           systime->wHour > 23 ||
           systime->wMinute > 59 ||
           systime->wSecond > 59 ||
diff --git a/dlls/comctl32/tests/datetime.c b/dlls/comctl32/tests/datetime.c
index 8b902ba..d60ad54 100644
--- a/dlls/comctl32/tests/datetime.c
+++ b/dlls/comctl32/tests/datetime.c
@@ -600,6 +600,15 @@ static void test_dtm_set_and_get_system_time(void)
     r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
     expect(GDT_VALID, r);
     expect_systime(&ref, &getSt);
+    /* day invalid for current month */
+    st = ref;
+    st.wDay = 30;
+    st.wMonth = 2;
+    r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
+    expect(0, r);
+    r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
+    expect(GDT_VALID, r);
+    expect_systime(&ref, &getSt);
     /* day of week isn't validated */
     st = ref;
     st.wDayOfWeek = 10;




More information about the wine-cvs mailing list