[BACK]Return to day.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / calendar

Diff for /src/usr.bin/calendar/day.c between version 1.28 and 1.29

version 1.28, 2015/03/15 00:41:28 version 1.29, 2015/03/17 19:31:30
Line 156 
Line 156 
         tp->tm_isdst = 0;          tp->tm_isdst = 0;
         tp->tm_hour = 12;          tp->tm_hour = 12;
         *now = mktime(tp);          *now = mktime(tp);
         if (isleap(tp->tm_year + TM_YEAR_BASE))          if (isleap(tp->tm_year + 1900))
                 cumdays = daytab[1];                  cumdays = daytab[1];
         else          else
                 cumdays = daytab[0];                  cumdays = daytab[0];
Line 214 
Line 214 
                 *(date + len - 4) = '\0';                  *(date + len - 4) = '\0';
                 tm.tm_year = atoi(date);                  tm.tm_year = atoi(date);
   
                 /* tm_year up TM_YEAR_BASE ... */  
                 if (tm.tm_year < 69)            /* Y2K */                  if (tm.tm_year < 69)            /* Y2K */
                         tm.tm_year += 2000 - TM_YEAR_BASE;                          tm.tm_year += 100;
                 else if (tm.tm_year < 100)                  else if (tm.tm_year > 1900)
                         tm.tm_year += 1900 - TM_YEAR_BASE;                          tm.tm_year -= 1900;
                 else if (tm.tm_year > TM_YEAR_BASE)  
                         tm.tm_year -= TM_YEAR_BASE;  
         }          }
   
 #if DEBUG  #if DEBUG
Line 430 
Line 427 
                          */                           */
                                 if (tp->tm_yday > 300 && tmtmp.tm_mon <= 1)                                  if (tp->tm_yday > 300 && tmtmp.tm_mon <= 1)
                                         variable_weekday(&vwd, tmtmp.tm_mon + 1,                                          variable_weekday(&vwd, tmtmp.tm_mon + 1,
                                             tmtmp.tm_year + TM_YEAR_BASE + 1);                                              tmtmp.tm_year + 1900 + 1);
                                 else                                  else
                                         variable_weekday(&vwd, tmtmp.tm_mon + 1,                                          variable_weekday(&vwd, tmtmp.tm_mon + 1,
                                             tmtmp.tm_year + TM_YEAR_BASE);                                              tmtmp.tm_year + 1900);
                                 day = cumdays[tmtmp.tm_mon + 1] + vwd;                                  day = cumdays[tmtmp.tm_mon + 1] + vwd;
                                 tmtmp.tm_mday = vwd;                                  tmtmp.tm_mday = vwd;
                         }                          }
                         v2 = day - tp->tm_yday;                          v2 = day - tp->tm_yday;
                         if ((v2 > v1) || (v2 < 0)) {                          if ((v2 > v1) || (v2 < 0)) {
                                 if ((v2 += isleap(tp->tm_year + TM_YEAR_BASE) ? 366 : 365)                                  if ((v2 += isleap(tp->tm_year + 1900) ? 366 : 365)
                                     <= v1)                                      <= v1)
                                         tmtmp.tm_year++;                                          tmtmp.tm_year++;
                                 else if(!bodun || (day - tp->tm_yday) != -1)                                  else if(!bodun || (day - tp->tm_yday) != -1)
Line 515 
Line 512 
                                 if (vwd) {                                  if (vwd) {
                                         v1 = vwd;                                          v1 = vwd;
                                         variable_weekday(&v1, tmtmp.tm_mon + 1,                                          variable_weekday(&v1, tmtmp.tm_mon + 1,
                                             tmtmp.tm_year + TM_YEAR_BASE);                                              tmtmp.tm_year + 1900);
                                         tmtmp.tm_mday = v1;                                          tmtmp.tm_mday = v1;
                                 } else                                  } else
                                         tmtmp.tm_mday = dayp;                                          tmtmp.tm_mday = dayp;
Line 526 
Line 523 
                                 if (flags & F_SPECIAL) {                                  if (flags & F_SPECIAL) {
                                         tmtmp.tm_mon = 0;       /* Gee, mktime() is nice */                                          tmtmp.tm_mon = 0;       /* Gee, mktime() is nice */
                                         tmtmp.tm_mday = spev[v1].getev(tmtmp.tm_year +                                          tmtmp.tm_mday = spev[v1].getev(tmtmp.tm_year +
                                             TM_YEAR_BASE) + vwd;                                              1900) + vwd;
                                 } else if (vwd) {                                  } else if (vwd) {
                                         v1 = vwd;                                          v1 = vwd;
                                         variable_weekday(&v1, tmtmp.tm_mon + 1,                                          variable_weekday(&v1, tmtmp.tm_mon + 1,
                                             tmtmp.tm_year + TM_YEAR_BASE);                                              tmtmp.tm_year + 1900);
                                         tmtmp.tm_mday = v1;                                          tmtmp.tm_mday = v1;
                                 } else {                                  } else {
                                 /* Need the following to keep Feb 29 from                                  /* Need the following to keep Feb 29 from

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29