summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems')
-rw-r--r--cpukit/rtems/src/clocktodvalidate.c34
1 files changed, 25 insertions, 9 deletions
diff --git a/cpukit/rtems/src/clocktodvalidate.c b/cpukit/rtems/src/clocktodvalidate.c
index 14b3f79d8e..0e3b5772b5 100644
--- a/cpukit/rtems/src/clocktodvalidate.c
+++ b/cpukit/rtems/src/clocktodvalidate.c
@@ -51,15 +51,31 @@ rtems_status_code _TOD_Validate(
ticks_per_second = rtems_clock_get_ticks_per_second();
ticks_mask = (uint32_t) ticks_validation;
- if ( ( ( the_tod->ticks & ticks_mask ) >= ticks_per_second ) ||
- (the_tod->second >= TOD_SECONDS_PER_MINUTE) ||
- (the_tod->minute >= TOD_MINUTES_PER_HOUR) ||
- (the_tod->hour >= TOD_HOURS_PER_DAY) ||
- (the_tod->month == 0) ||
- (the_tod->month > TOD_MONTHS_PER_YEAR) ||
- (the_tod->year < TOD_BASE_YEAR) ||
- (the_tod->year > TOD_LATEST_YEAR) ||
- (the_tod->day == 0) ) {
+ if ( ( the_tod->ticks & ticks_mask ) >= ticks_per_second ) {
+ return RTEMS_INVALID_CLOCK;
+ }
+
+ if ( the_tod->second >= TOD_SECONDS_PER_MINUTE ) {
+ return RTEMS_INVALID_CLOCK;
+ }
+
+ if ( the_tod->minute >= TOD_MINUTES_PER_HOUR ) {
+ return RTEMS_INVALID_CLOCK;
+ }
+
+ if ( the_tod->hour >= TOD_HOURS_PER_DAY ) {
+ return RTEMS_INVALID_CLOCK;
+ }
+
+ if ( the_tod->month == 0 || the_tod->month > TOD_MONTHS_PER_YEAR ) {
+ return RTEMS_INVALID_CLOCK;
+ }
+
+ if ( the_tod->year < TOD_BASE_YEAR || the_tod->year > TOD_LATEST_YEAR ) {
+ return RTEMS_INVALID_CLOCK;
+ }
+
+ if ( the_tod->day == 0 ) {
return RTEMS_INVALID_CLOCK;
}