+ }
+ if (Tflag != NOSTR)
+ fclose(readstat);
+ if (!gotcha || Tflag != NOSTR)
+ goto done;
+ ibuf = NULL;
+ if (stat(editfile, &statb) >= 0 && statb.st_size > mailsize) {
+ strcpy(tempname, "/tmp/mboxXXXXXX");
+ mktemp(tempname);
+ if ((obuf = fopen(tempname, "w")) == NULL) {
+ perror(tempname);
+ relsesigs();
+ reset(0);
+ }
+ if ((ibuf = fopen(editfile, "r")) == NULL) {
+ perror(editfile);
+ fclose(obuf);
+ remove(tempname);
+ relsesigs();
+ reset(0);
+ }
+ fseek(ibuf, mailsize, 0);
+ while ((c = getc(ibuf)) != EOF)
+ putc(c, obuf);
+ fclose(ibuf);
+ fclose(obuf);
+ if ((ibuf = fopen(tempname, "r")) == NULL) {
+ perror(tempname);
+ remove(tempname);
+ relsesigs();
+ reset(0);
+ }
+ remove(tempname);
+ }