code: purgatorio

ref: db3b70f1424dfd8c5ea45206790df066c53bfab0
dir: /appl/lib/convcs/gencp.b/

View raw version
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);
}