static const char *js =
-const rowValue = (tr, idx) => tr.children[idx].getAttribute('data-o') || tr.children[idx].innerText || tr.children[idx].textContent;
-
+const cellVal = (e) => e.getAttribute('title') || e.getAttribute('data-o') ||
+ e.innerText || e.textContent;
+const rowValue = (tr, idx) => cellVal(tr.children[idx]);
const compare = (idx, asc) => (a, b) => ((v1, v2) =>
v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2)
)(rowValue(asc ? a : b, idx), rowValue(asc ? b : a, idx));
-/* $OpenBSD: server_file.c,v 1.77 2024/01/04 18:17:47 espie Exp $ */
+/* $OpenBSD: server_file.c,v 1.78 2024/01/06 11:29:00 espie Exp $ */
/*
* Copyright (c) 2006 - 2017 Reyk Floeter <reyk@openbsd.org>
(evbuffer_add_printf(evb,
"<tr><td><a href=\"%s%s\">%s</a></td>\n"
" <td data-o=\"%lld\">%s</td>"
- "<td data-o=\"%llu\">%s</td></tr>\n",
+ "<td title=\"%llu\">%s</td></tr>\n",
strchr(escapeduri, ':') != NULL ? "./" : "",
escapeduri, escapedhtml,
(long long)t, tmstr,