static char *sccsid
= "@(#)strip.c 4.5 (Berkeley) %G%";
pagesize
= getpagesize();
signal(SIGQUIT
, SIG_IGN
);
for (i
= 1; i
< argc
; i
++) {
fprintf(stderr
, "strip: "); perror(name
);
if (read(f
, (char *)&head
, sizeof (head
)) < 0 || N_BADMAG(head
)) {
printf("strip: %s not in a.out format\n", name
);
if ((head
.a_syms
== 0) && (head
.a_trsize
== 0) && (head
.a_drsize
==0)) {
printf("strip: %s already stripped\n", name
);
size
= (long)head
.a_text
+ head
.a_data
;
head
.a_syms
= head
.a_trsize
= head
.a_drsize
= 0;
if (head
.a_magic
== ZMAGIC
)
size
+= pagesize
- sizeof (head
);
if (ftruncate(f
, size
+ sizeof (head
)) < 0) {
fprintf("strip: "); perror(name
);
(void) lseek(f
, (long)0, L_SET
);
(void) write(f
, (char *)&head
, sizeof (head
));