date and time created 80/10/08 09:52:04 by kas
[unix-history] / usr / src / usr.bin / size / size.c
CommitLineData
14a73586
BJ
1static char *sccsid = "@(#)size.c 4.1 (Berkeley) %G%";
2/*
3 * size
4 */
5#include <stdio.h>
6#include <a.out.h>
7
8main(argc, argv)
9char **argv;
10{
11 struct exec buf;
12 long sum;
13 int gorp,i;
14 FILE *f;
15
16 if (argc==1) {
17 *argv = "a.out";
18 argc++;
19 --argv;
20 }
21 gorp = argc;
22 while(--argc) {
23 ++argv;
24 if ((f = fopen(*argv, "r"))==NULL) {
25 printf("size: %s not found\n", *argv);
26 continue;
27 }
28 fread((char *)&buf, sizeof(buf), 1, f);
29 if (N_BADMAG(buf)) {
30 printf("size: %s not an object file\n", *argv);
31 fclose(f);
32 continue;
33 }
34 if (gorp>2)
35 printf("%s: ", *argv);
36 printf("%u+%u+%u = ", buf.a_text,buf.a_data,buf.a_bss);
37 sum = (long) buf.a_text + (long) buf.a_data + (long) buf.a_bss;
38 printf("%Db = 0x%Xb\n", sum, sum);
39 fclose(f);
40 }
41}