diff options
Diffstat (limited to '')
-rw-r--r-- | html.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/html.c b/html.c index fab67bd..8a69659 100644 --- a/html.c +++ b/html.c @@ -108,3 +108,23 @@ void html_link_close(void) { html("</a>"); } + +void html_fileperm(unsigned short mode) +{ + htmlf("%c%c%c", (mode & 4 ? 'r' : '-'), + (mode & 2 ? 'w' : '-'), (mode & 1 ? 'x' : '-')); +} + +void html_filemode(unsigned short mode) +{ + if (S_ISDIR(mode)) + html("d"); + else if (S_ISLNK(mode)) + html("l"); + else + html("-"); + html_fileperm(mode >> 6); + html_fileperm(mode >> 3); + html_fileperm(mode); +} + |