Fix for N_SE-52109
authorhs321.lee <hs321.lee@samsung.com>
Mon, 16 Sep 2013 13:07:11 +0000 (22:07 +0900)
committerhs321.lee <hs321.lee@samsung.com>
Mon, 16 Sep 2013 13:07:20 +0000 (22:07 +0900)
Change-Id: I8a5ab29ffb66135a417d6c5ad97185af9ec07ce9
Signed-off-by: hs321.lee <hs321.lee@samsung.com>
src/FScl_CalEventImpl.cpp

index cbb2c4b..6bd181b 100644 (file)
@@ -967,11 +967,21 @@ _CalEventImpl::ConvertEventHandleToRecurrenceN(calendar_record_h eventHandle) co
                }
                else
                {
-                       r = ConvertRRuleByDayStringToDayOfWeekAndWeekOfMonth(pByDay, weekOfMonth, dayOfWeek);
-                       SysTryReturn(NID_SCL, r == E_SUCCESS, null, E_INVALID_ARG, "[%s] Invalid argument is used. byday = %s", GetErrorMessage(E_INVALID_ARG), pByDay);
+                       if(pByDay != null)
+                       {
+                               r = ConvertRRuleByDayStringToDayOfWeekAndWeekOfMonth(pByDay, weekOfMonth, dayOfWeek);
+                               SysTryReturn(NID_SCL, r == E_SUCCESS, null, E_INVALID_ARG, "[%s] Invalid argument is used. byday = %s", GetErrorMessage(E_INVALID_ARG), pByDay);
+
+                               pRecurrence->SetWeekOfMonth(weekOfMonth);
+                               pRecurrence->SetDayOfWeek(dayOfWeek);
+                       }
+                       else
+                       {
+                               DateTime startTime = GetStartTime();
 
-                       pRecurrence->SetWeekOfMonth(weekOfMonth);
-                       pRecurrence->SetDayOfWeek(dayOfWeek);
+                               dayOfMonth = startTime.GetDay();
+                               pRecurrence->SetDayOfMonth(dayOfMonth);
+                       }
                }
 
                break;
@@ -993,11 +1003,23 @@ _CalEventImpl::ConvertEventHandleToRecurrenceN(calendar_record_h eventHandle) co
                }
                else
                {
-                       r = ConvertRRuleByDayStringToDayOfWeekAndWeekOfMonth(pByDay, weekOfMonth, dayOfWeek);
-                       SysTryReturn(NID_SCL, r == E_SUCCESS, null, E_INVALID_ARG, "[%s] Invalid argument is used. byday = %s", GetErrorMessage(E_INVALID_ARG), pByDay);
+                       if(pByDay != null)
+                       {
+                               r = ConvertRRuleByDayStringToDayOfWeekAndWeekOfMonth(pByDay, weekOfMonth, dayOfWeek);
+                               SysTryReturn(NID_SCL, r == E_SUCCESS, null, E_INVALID_ARG, "[%s] Invalid argument is used. byday = %s", GetErrorMessage(E_INVALID_ARG), pByDay);
 
-                       pRecurrence->SetWeekOfMonth(weekOfMonth);
-                       pRecurrence->SetDayOfWeek(dayOfWeek);
+                               pRecurrence->SetWeekOfMonth(weekOfMonth);
+                               pRecurrence->SetDayOfWeek(dayOfWeek);
+                       }
+                       else
+                       {
+                               DateTime startTime = GetStartTime();
+
+                               dayOfMonth = startTime.GetDay();
+                               monthOfYear = startTime.GetMonth();
+
+                               pRecurrence->SetDayOfMonth(dayOfMonth);
+                       }
                }
                pRecurrence->SetMonthOfYear(monthOfYear);