mscan: fmt_date: refactor, add 5-char %d

pull/2/head
Christian Neukirchen 8 years ago
parent 77d0498b6c
commit 53852d7517

@ -106,28 +106,37 @@ fmt_date(struct message *msg, int w, int iso)
if (!msg) if (!msg)
return ""; return "";
if ((v = blaze822_hdr(msg, "date"))) { v = blaze822_hdr(msg, "date");
time_t t = blaze822_date(v); if (!v)
if (t != -1) { return "(unknown)";
struct tm *tm; time_t t = blaze822_date(v);
tm = localtime(&t); if (t == -1)
return "(invalid)";
if (iso && w >= 19)
strftime(date, sizeof date, "%Y-%m-%d %H:%M:%S", tm); struct tm *tm;
else if (iso && w >= 16) tm = localtime(&t);
strftime(date, sizeof date, "%Y-%m-%d %H:%M", tm);
else if (iso || tm->tm_year != curyear) if (iso) {
strftime(date, sizeof date, "%Y-%m-%d", tm); if (w >= 19)
else if (tm->tm_yday != curyday) strftime(date, sizeof date, "%Y-%m-%d %H:%M:%S", tm);
strftime(date, sizeof date, "%a %b %e", tm); else if (w >= 16)
else strftime(date, sizeof date, "%Y-%m-%d %H:%M", tm);
strftime(date, sizeof date, "%a %H:%M", tm); else
} else { strftime(date, sizeof date, "%Y-%m-%d", tm);
strcpy(date, "(invalid)"); } else if (w < 10) {
} if (tm->tm_year != curyear)
strftime(date, sizeof date, "%b%y", tm);
else if (tm->tm_yday != curyday)
strftime(date, sizeof date, "%d%b", tm);
else
strftime(date, sizeof date, "%H:%M", tm);
} else { } else {
strcpy(date, "(unknown)"); if (tm->tm_year != curyear)
// mtime perhaps? strftime(date, sizeof date, "%Y-%m-%d", tm);
else if (tm->tm_yday != curyday)
strftime(date, sizeof date, "%a %b %e", tm);
else
strftime(date, sizeof date, "%a %H:%M", tm);
} }
return date; return date;
@ -327,10 +336,9 @@ oneline(char *file)
long lineno = msg ? blaze822_seq_find(file) : 0; long lineno = msg ? blaze822_seq_find(file) : 0;
if (lineno) if (lineno)
printf("%*ld", w, lineno); wleft -= printf("%*ld", w, lineno);
else else
printf("%*s", w, ""); wleft -= printf("%*s", w, "");
wleft -= w > 0 ? w : -w;
} }
break; break;
case 'd': case 'd':

Loading…
Cancel
Save