]> Pileus Git - lackey/blobdiff - src/date.c
Fix month draw bug
[lackey] / src / date.c
index 965f15a4a6c4e8a4e8e3481e2828bc1e25f7eab4..f55ae3468b34722fb364e00ec7c7fd19d4f63d0c 100644 (file)
@@ -37,10 +37,10 @@ void date_init(void)
        MONTH = tm->tm_mon;
        DAY   = tm->tm_mday-1;
 
-       // Testing */
-       YEAR  = 2009;
-       MONTH = MAY;
-       DAY   = 1;
+       /* Testing */
+       //YEAR  = 2009;
+       //MONTH = MAY;
+       //DAY   = 1;
 }
 
 /* Time functions */
@@ -111,6 +111,31 @@ void add_months(year_t *year, month_t *month, int months)
        *month = total % 12;
 }
 
+stamp_t get_time(date_t *date)
+{
+       return mktime(&(struct tm){
+               .tm_year = date->year-1900,
+               .tm_mon  = date->month,
+               .tm_mday = date->day+1,
+               .tm_hour = date->hour,
+               .tm_min  = date->min});
+}
+
+int get_mins(date_t *start, date_t *end)
+{
+       return (get_time(end)-get_time(start))/60;
+}
+
+int before(date_t *start, int year, int month, int day, int hour, int min)
+{
+       int rval = start->year  < year  ? 1 : start->year  > year ? 0 :
+                  start->month < month ? 1 : start->month > month? 0 :
+                  start->day   < day   ? 1 : start->day   > day  ? 0 :
+                  start->hour  < hour  ? 1 : start->hour  > hour ? 0 :
+                  start->min   < min   ? 1 : start->min   > min  ? 0 : 0;
+       return rval;
+}
+
 /* Debug functions */
 const char *month_to_str(month_t month)
 {