(* Mark up mode. *)
let markup_of_mode mode =
- let c =
- if is_socket mode then 's'
- else if is_symlink mode then 'l'
- else if is_regular_file mode then '-'
- else if is_block mode then 'b'
- else if is_directory mode then 'd'
- else if is_char mode then 'c'
- else if is_fifo mode then 'p' else '?' in
- let ru = if is_ru mode then 'r' else '-' in
- let wu = if is_wu mode then 'w' else '-' in
- let xu = if is_xu mode then 'x' else '-' in
- let rg = if is_rg mode then 'r' else '-' in
- let wg = if is_wg mode then 'w' else '-' in
- let xg = if is_xg mode then 'x' else '-' in
- let ro = if is_ro mode then 'r' else '-' in
- let wo = if is_wo mode then 'w' else '-' in
- let xo = if is_xo mode then 'x' else '-' in
- let str = sprintf "%c%c%c%c%c%c%c%c%c%c" c ru wu xu rg wg xg ro wo xo in
-
- let suid = is_suid mode in
- let sgid = is_sgid mode in
- let svtx = is_svtx mode in
- if suid then str.[3] <- 's';
- if sgid then str.[6] <- 's';
- if svtx then str.[9] <- 't';
-
+ let str = file_permissions_string mode in
"<span color=\"#222222\" size=\"small\">" ^ str ^ "</span>"
(* Mark up dates. *)