ls: fix year 9999 bug :)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -581,12 +581,15 @@ static NOINLINE unsigned display_single(const struct dnode *dn)
|
|||||||
} else { /* LIST_DATE_TIME */
|
} else { /* LIST_DATE_TIME */
|
||||||
/* G.current_time_t ~== time(NULL) */
|
/* G.current_time_t ~== time(NULL) */
|
||||||
time_t age = G.current_time_t - ttime;
|
time_t age = G.current_time_t - ttime;
|
||||||
printf("%.6s ", filetime + 4); /* "Jun 30" */
|
|
||||||
if (age < 3600L * 24 * 365 / 2 && age > -15 * 60) {
|
if (age < 3600L * 24 * 365 / 2 && age > -15 * 60) {
|
||||||
/* hh:mm if less than 6 months old */
|
/* less than 6 months old */
|
||||||
printf("%.5s ", filetime + 11);
|
/* "mmm dd hh:mm " */
|
||||||
} else { /* year. buggy if year > 9999 ;) */
|
printf("%.12s ", filetime + 4);
|
||||||
printf(" %.4s ", filetime + 20);
|
} else {
|
||||||
|
/* "mmm dd yyyy " */
|
||||||
|
/* "mmm dd yyyyy " after year 9999 :) */
|
||||||
|
strchr(filetime + 20, '\n')[0] = ' ';
|
||||||
|
printf("%.7s%6s", filetime + 4, filetime + 20);
|
||||||
}
|
}
|
||||||
column += 13;
|
column += 13;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user