@@ -116,8 +116,9 @@ SERVICE_REGISTRATION(Launcher, 1, 0);
116116 if (timeMode == RELATIVE) { // Schedule Job at relative timing
117117 scheduledTime = Core::Time::Now ();
118118
119- uint64_t timeValueToTrigger = ((((time.Hours () != (uint8_t )(~0 )) ? time.Hours (): 0 ) * MinutesPerHour +
120- ((time.Minutes () != (uint8_t )(~0 )) ? time.Minutes (): 0 )) * SecondsPerMinute + time.Seconds ()) * MilliSecondsPerSecond;
119+
120+ uint64_t timeValueToTrigger = (((time.Hours () ? time.Hours (): 0 ) * MinutesPerHour +
121+ (time.Minutes () ? time.Minutes (): 0 )) * SecondsPerMinute + time.Seconds ()) * MilliSecondsPerSecond;
121122 scheduledTime.Add (timeValueToTrigger);
122123
123124 }
@@ -214,14 +215,16 @@ Core::Time Launcher::FindAbsoluteTimeForSchedule(const Time& absoluteTime, const
214215
215216 if (interval.IsValid () == false ) {
216217 if (slotTime < startTime) {
217- uint32_t jump (absoluteTime.HasHours () ? HoursPerDay * MinutesPerHour * SecondsPerMinute : (absoluteTime.HasMinutes () ? MinutesPerHour * SecondsPerMinute : SecondsPerMinute));
218- slotTime.Add (jump * 100 );
218+ uint32_t jump ((absoluteTime.HasHours () ? HoursPerDay * MinutesPerHour * SecondsPerMinute :
219+ (absoluteTime.HasMinutes () ? MinutesPerHour * SecondsPerMinute : SecondsPerMinute)) * MilliSecondsPerSecond);
220+
221+ slotTime.Add (jump);
219222 }
220223 }
221224 else {
222- uint32_t intervalJump = ( (interval.HasHours () ? interval.Hours () * MinutesPerHour * SecondsPerMinute : 0 ) +
225+ uint32_t intervalJump = ( (interval.HasHours () ? interval.Hours () * MinutesPerHour * SecondsPerMinute : 0 ) +
223226 (interval.HasMinutes () ? interval.Minutes () * SecondsPerMinute : 0 ) +
224- interval.Seconds () ) * 100 ;
227+ interval.Seconds () ) * MilliSecondsPerSecond ;
225228
226229 ASSERT (intervalJump != 0 );
227230 if (slotTime >= startTime) {
0 commit comments