blob: e9aea4ad6863da64ad0cae52476180de71350ec6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
use std
pkg escfmt =
type eschtml = byte[:]
const html : (s : byte[:] -> eschtml)
;;
const __init__ = {
var s = ("" : eschtml)
std.fmtinstall(std.typeof(s), htmlfmt, [][:])
}
const html = {s
-> (s : eschtml)
}
const htmlfmt = {sb, ap, args
var s : byte[:]
s = std.vanext(ap)
for c : std.bychar(s)
match c
| '&': std.sbputs(sb, "&")
| '<': std.sbputs(sb, "<")
| '>': std.sbputs(sb, ">")
| '/': std.sbputs(sb, "/")
| _: std.sbputc(sb, c)
;;
;;
}
|