[systemd-devel] [PATCH 1/7] calendar: add constant values

Daniele Medri dmedri at gmail.com
Mon Oct 27 00:42:39 PDT 2014


---
 src/shared/calendarspec.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/shared/calendarspec.c b/src/shared/calendarspec.c
index 64d0dec..73f87c6 100644
--- a/src/shared/calendarspec.c
+++ b/src/shared/calendarspec.c
@@ -24,6 +24,12 @@
 
 #include "calendarspec.h"
 
+#define CENTURY_ONE 1900
+#define CENTURY_TWO 2000
+#define CENTURY_GAP 70
+#define BITS_WEEKDAYS	127
+#define BITS_MONTHS	127
+
 static void free_chain(CalendarComponent *c) {
         CalendarComponent *n;
 
@@ -107,11 +113,11 @@ static void fix_year(CalendarComponent *c) {
         while(c) {
                 CalendarComponent *n = c->next;
 
-                if (c->value >= 0 && c->value < 70)
-                        c->value += 2000;
+                if (c->value >= 0 && c->value < CENTURY_GAP)
+                        c->value += CENTURY_TWO;
 
-                if (c->value >= 70 && c->value < 100)
-                        c->value += 1900;
+                if (c->value >= CENTURY_GAP && c->value < 100)
+                        c->value += CENTURY_ONE;
 
                 c = n;
         }
@@ -157,7 +163,9 @@ _pure_ bool calendar_spec_valid(CalendarSpec *c) {
         if (c->weekdays_bits > 127)
                 return false;
 
-        if (!chain_valid(c->year, 1970, 2199))
+        if (!chain_valid(c->year,
+			(CENTURY_ONE + CENTURY_GAP),
+			(CENTURY_TWO + CENTURY_GAP)))
                 return false;
 
         if (!chain_valid(c->month, 1, 12))
@@ -847,9 +855,9 @@ static int find_next(const CalendarSpec *spec, struct tm *tm) {
                 mktime(&c);
                 c.tm_isdst = -1;
 
-                c.tm_year += 1900;
+                c.tm_year += CENTURY_ONE;
                 r = find_matching_component(spec->year, &c.tm_year);
-                c.tm_year -= 1900;
+                c.tm_year -= CENTURY_ONE;
 
                 if (r > 0) {
                         c.tm_mon = 0;
-- 
1.9.3



More information about the systemd-devel mailing list