From f2d6a3802abd73ac51c69c976d1d2404d6cf25ec Mon Sep 17 00:00:00 2001 From: Vladimir Byko-Ianko Date: Tue, 19 May 2020 17:17:26 +0300 Subject: [PATCH] [routing] Code refactoring to make it more clear. --- routing/opening_hours_serdes.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/routing/opening_hours_serdes.cpp b/routing/opening_hours_serdes.cpp index 8dd99a2957..db2db8e579 100644 --- a/routing/opening_hours_serdes.cpp +++ b/routing/opening_hours_serdes.cpp @@ -35,12 +35,18 @@ osmoh::RuleSequence GetTwentyFourHourRule() return result; } +bool ShouldSkipYear(uint16_t startYear, uint16_t endYear, uint16_t currentYear) +{ + if (startYear > endYear) + return true; // Wrong data. |startYear| is later than |endYear|. + + // returns true if |startYear| and |endYear| are too old and false otherwise. + return endYear < currentYear; +} + bool ShouldSkipYear(osmoh::YearRange const & range, uint16_t currentYear) { - if (range.GetStart() > range.GetEnd()) - return true; - - return range.GetStart() < currentYear && range.GetEnd() < currentYear; + return ShouldSkipYear(range.GetStart(), range.GetEnd(), currentYear); } bool ShouldSkipYear(osmoh::MonthdayRange const & range, uint16_t currentYear) @@ -48,13 +54,8 @@ bool ShouldSkipYear(osmoh::MonthdayRange const & range, uint16_t currentYear) auto const hasYear = range.GetStart().HasYear() && range.GetEnd().HasYear(); if (!hasYear) return true; - - auto const startYear = range.GetStart().GetYear(); - auto const endYear = range.GetEnd().GetYear(); - if (startYear > endYear) - return true; - return hasYear && startYear < currentYear && endYear < currentYear; + return ShouldSkipYear(range.GetStart().GetYear(), range.GetEnd().GetYear(), currentYear); } bool UselessModifier(osmoh::RuleSequence const & rule)