Lines Matching refs:tm
168 static void assign_date(struct tm *, int, int, int);
171 static void month(struct tm *);
174 static void plus(struct tm *);
175 static void tod(struct tm *);
313 plus(struct tm *tm)
325 tm->tm_year += delay;
328 tm->tm_mon += delay;
334 tm->tm_mday += delay;
337 tm->tm_hour += delay;
340 tm->tm_min += delay;
350 tm->tm_isdst = -1;
351 if (mktime(tm) == -1)
360 tod(struct tm *tm)
408 if ((sc_tokid == TOKEOF || sc_tokid == PLUS) && (tm->tm_hour > hour ||
409 (tm->tm_hour == hour && tm->tm_min > minute))) {
410 tm->tm_mday++;
411 tm->tm_wday++;
414 tm->tm_hour = hour;
415 tm->tm_min = minute;
423 assign_date(struct tm *tm, int mday, int mon, int year)
428 tm->tm_year = year - TM_YEAR_BASE;
433 tm->tm_year = conv_2dig_year(year) - TM_YEAR_BASE;
435 else if (year == -1) { /* year not given (use default in tm) */
437 if (tm->tm_mon > mon ||
438 (tm->tm_mon == mon && tm->tm_mday > mday))
439 tm->tm_year++;
444 tm->tm_mday = mday;
445 tm->tm_mon = mon;
458 month(struct tm *tm)
468 plus(tm);
473 tm->tm_mday++;
474 tm->tm_wday++;
493 assign_date(tm, mday, mon, year);
502 mday = tm->tm_mday;
505 if (wday < tm->tm_wday)
506 mday += 7 - (tm->tm_wday - wday);
508 mday += (wday - tm->tm_wday);
510 tm->tm_wday = wday;
512 assign_date(tm, mday, tm->tm_mon, tm->tm_year + TM_YEAR_BASE);
560 assign_date(tm, mday, mon, year);
579 struct tm nowtime, runtime;