X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fdate.c;h=add0a8ae99cbf09c1c1ced58b99c2e1790e3e5f6;hb=bfc415555da3be7f94738b3ac62c511a53b78674;hp=22104967bc7c214738794926ffa6214bdfd1a920;hpb=daded0f3fb930e7758e1009683c0cdb46eada3f6;p=lackey diff --git a/src/date.c b/src/date.c index 2210496..add0a8a 100644 --- a/src/date.c +++ b/src/date.c @@ -23,9 +23,8 @@ #include "date.h" /* Global data */ -year_t YEAR; -month_t MONTH; -day_t DAY; +date_t NOW; +date_t SEL; /* Initialize */ void date_init(void) @@ -33,14 +32,22 @@ void date_init(void) time_t sec = time(NULL); struct tm *tm = localtime(&sec); - YEAR = tm->tm_year+1900; - MONTH = tm->tm_mon; - DAY = tm->tm_mday-1; + SEL.year = tm->tm_year+1900; + SEL.month = tm->tm_mon; + SEL.day = tm->tm_mday-1; +} + +void date_sync(void) +{ + time_t sec = time(NULL); + struct tm *tm = localtime(&sec); - /* Testing */ - //YEAR = 2008; - //MONTH = OCT; - //DAY = 21; + NOW.year = tm->tm_year+1900; + NOW.month = tm->tm_mon; + NOW.day = tm->tm_mday-1; + NOW.hour = tm->tm_hour; + NOW.min = tm->tm_min; + NOW.sec = tm->tm_sec; } /* Time functions */ @@ -136,6 +143,13 @@ int compare(date_t *a, date_t *b) return rval; } +int same_day(date_t *a, date_t *b) +{ + return a->year == b->year && + a->month == b->month && + a->day == b->day; +} + int before(date_t *start, int year, int month, int day, int hour, int min) { return compare(start, &(date_t){year, month, day, hour, min}) < 0;