NCHARS : con 256;ERRCHAR : con 16rFFFD; sys : Sys; GenCP : module { init : fn (ctxt : ref Draw->Context, args : list of string);}; init(nil : ref Draw->Context, nil : list of string){ sys = load Sys Sys->PATH; path := sys->sprint("/lib/convcs/%s.cp", CHARSET); fd := sys->create(path, Sys->OWRITE, 8r644); if (fd == nil) { sys->print("cannot create %s: %r\n", path); return; } s := ""; for (i := 0; i < NCHARS; i++) { if (cstab[i] == -1) cstab[i] = ERRCHAR; s[i] = cstab[i]; } buf := array of byte s; sys->write(fd, buf, len buf);}
NCHARS : con 256;
ERRCHAR : con 16rFFFD;
sys : Sys;
GenCP : module {
init : fn (ctxt : ref Draw->Context, args : list of string);
};
init(nil : ref Draw->Context, nil : list of string)
{
sys = load Sys Sys->PATH;
path := sys->sprint("/lib/convcs/%s.cp", CHARSET);
fd := sys->create(path, Sys->OWRITE, 8r644);
if (fd == nil) {
sys->print("cannot create %s: %r\n", path);
return;
}
s := "";
for (i := 0; i < NCHARS; i++) {
if (cstab[i] == -1)
cstab[i] = ERRCHAR;
s[i] = cstab[i];
}
buf := array of byte s;
sys->write(fd, buf, len buf);
}