Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_tlsv12/sys/src/cmd/fossil/last.c – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
 
4
void
5
usage(void)
6
{
7
	fprint(2, "usage: fossil/last disk\n");
8
	exits("usage");
9
}
10
 
11
void
12
main(int argc, char **argv)
13
{
14
	int fd, bs, addr;
15
	char buf[20];
16
 
17
	ARGBEGIN{
18
	default:
19
		usage();
20
	}ARGEND
21
 
22
	if(argc != 1)
23
		usage();
24
 
25
	if((fd = open(argv[0], OREAD)) < 0)
26
		sysfatal("open %s: %r", argv[0]);
27
 
28
	werrstr("end of file");
29
	if(seek(fd, 131072, 0) < 0 || readn(fd, buf, 20) != 20)
30
		sysfatal("error reading %s: %r", argv[0]);
31
	fmtinstall('H', encodefmt);
32
	if(memcmp(buf, "\x37\x76\xAE\x89", 4) != 0)
33
		sysfatal("bad magic %.4H != 3776AE89", buf);
34
	bs = buf[7]|(buf[6]<<8);
35
	addr = (buf[8]<<24)|(buf[9]<<16)|(buf[10]<<8)|buf[11];
36
	if(seek(fd, (vlong)bs*addr+34, 0) < 0 || readn(fd, buf, 20) != 20)
37
		sysfatal("error reading %s: %r", argv[0]);
38
	print("vac:%.20lH\n", buf);
39
	exits(0);
40
}