forsyth20121205-174063a80cc13 years agoHistory
42 lines · 851 B · Brainfuck
RawDownload
implement Timestamp;include "sys.m";	sys: Sys;include "draw.m";include "bufio.m";	bufio: Bufio;	Iobuf: import bufio; Timestamp: module {	init: fn(nil: ref Draw->Context, argv: list of string);}; timefd: ref Sys->FD;starttime: big; init(nil: ref Draw->Context, argv: list of string){	sys = load Sys Sys->PATH;	bufio = load Bufio Bufio->PATH; 	note: string;	if(len argv > 1)		note = hd tl argv + " "; 	timefd = sys->open("/dev/time", Sys->OREAD);	starttime = now(); 	sys->print("%.10bd %sstart %bd\n", now(), note, starttime); 	iob := bufio->fopen(sys->fildes(0), Sys->OREAD);	while((s := iob.gets('\n')) != nil)		sys->print("%.10bd %s%s", now(), note, s);} now(): big{	buf := array[24] of byte;	n := sys->pread(timefd, buf, len buf, big 0);	if(n <= 0)		return big 0;	return big string buf[0:n] / big 1000 - starttime;}