daysinmonth
lmdays = daysinmonth(t);
lmdays = daysinmonth(t);
t->tm_mday = daysinmonth(t);
if (val > 0 && val <= daysinmonth(t))
unsigned daysinmonth = ndays[is_leap(tm->tm_year)][tm->tm_mon];
if (days < daysinmonth)
days -= daysinmonth;