ref: 183f3d40a1dbc2254f1e01de21eb022996f40ad2
dir: /lib/escfmt/escsh.myr/
use std
pkg escfmt =
type escsh = byte[:]
const sh : (s : byte[:] -> escsh)
;;
const __init__ = {
var s = ("" : escsh)
std.fmtinstall(std.typeof(s), shfmt)
}
const sh = {s
-> (s : escsh)
}
const shfmt = {sb, ap, args
var s : byte[:]
s = std.vanext(ap)
std.sbputb(sb, ('\'' : byte))
for b : s
if b == ('\'' : byte)
std.sbputs(sb, "'\\''")
else
std.sbputb(sb, b)
;;
;;
std.sbputb(sb, ('\'' : byte))
}