This is very useful for those "who was doing that just now" moments
" <th><a href=\"?sort=out\">Out</a></th>\n"
" <th><a href=\"?sort=total\">Total</a></th>\n");
if (want_lastseen) str_append(buf,
" <th><a href=\"?sort=out\">Out</a></th>\n"
" <th><a href=\"?sort=total\">Total</a></th>\n");
if (want_lastseen) str_append(buf,
- " <th>Last seen</th>\n");
+ " <th><a href=\"?sort=lastseen\">Last seen</a></th>\n");
str_append(buf,
"</tr>\n");
}
str_append(buf,
"</tr>\n");
}
else if (strcmp(qs_sort, "total") == 0) sort = TOTAL;
else if (strcmp(qs_sort, "in") == 0) sort = IN;
else if (strcmp(qs_sort, "out") == 0) sort = OUT;
else if (strcmp(qs_sort, "total") == 0) sort = TOTAL;
else if (strcmp(qs_sort, "in") == 0) sort = IN;
else if (strcmp(qs_sort, "out") == 0) sort = OUT;
+ else if (strcmp(qs_sort, "lastseen") == 0) sort = LASTSEEN;
else {
str_append(buf, "Error: invalid value for \"sort\".\n");
goto done;
else {
str_append(buf, "Error: invalid value for \"sort\".\n");
goto done;
-enum sort_dir { IN, OUT, TOTAL };
+enum sort_dir { IN, OUT, TOTAL, LASTSEEN };
extern int show_mac_addrs;
extern int show_mac_addrs;
a = (*x)->total;
b = (*y)->total;
break;
a = (*x)->total;
b = (*y)->total;
break;
+ case LASTSEEN:
+ a = (*x)->u.host.last_seen;
+ b = (*y)->u.host.last_seen;
+ break;
default:
errx(1, "cmp: unknown direction: %d", dir);
}
default:
errx(1, "cmp: unknown direction: %d", dir);
}