Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include	<u.h>
2
#include	<libc.h>
3
#include	<bio.h>
4
#include	<mach.h>
5
 
6
int
7
size(char *file)
8
{
9
	int fd;
10
	Fhdr f;
11
 
12
	if((fd = open(file, OREAD)) < 0){
13
		fprint(2, "size: ");
14
		perror(file);
15
		return 1;
16
	}
17
	if(crackhdr(fd, &f)) {
18
		print("%ldt + %ldd + %ldb = %ld\t%s\n", f.txtsz, f.datsz,
19
			f.bsssz, f.txtsz+f.datsz+f.bsssz, file);
20
		close(fd);
21
		return 0;
22
	}
23
	fprint(2, "size: %s not an a.out\n", file);
24
	close(fd);
25
	return 1;
26
}
27
 
28
void
29
main(int argc, char *argv[])
30
{
31
	char *err;
32
	int i;
33
 
34
	ARGBEGIN {
35
	default:
36
		fprint(2, "usage: size [a.out ...]\n");
37
		exits("usage");
38
	} ARGEND;
39
 
40
	err = 0;
41
	if(argc == 0)
42
		if(size("8.out"))
43
			err = "error";
44
	for(i=0; i<argc; i++)
45
		if(size(argv[i]))
46
			err = "error";
47
	exits(err);
48
}