date.c: fix parsing of dates in mm/dd/yy format

We looked at the year one character too early, and we
didn't accept a two-character year date after 2000.
This commit is contained in:
Linus Torvalds 2005-04-30 14:31:28 -07:00
Родитель eaa8512923
Коммит a90588821a
1 изменённых файлов: 3 добавлений и 1 удалений

4
date.c
Просмотреть файл

@ -203,9 +203,11 @@ static int match_digit(char *date, struct tm *tm, int *offset)
tm->tm_mon = num - 1;
tm->tm_mday = num2;
if (*end == c && isdigit(end[1])) {
num3 = strtoul(end, &end, 10);
num3 = strtoul(end+1, &end, 10);
if (num3 > 1900)
num3 -= 1900;
else if (num3 < 38)
num3 += 100;
tm->tm_year = num3;
}
break;