sow@luthcad.UUCP (04/04/87)
Index: .../mh/uip/scansbr.c Description: The inc(1) command, part of MH-6.4, clears the maildrop even if a write error has occured. Some fputs didn't return write error status correctly. Repeat-By: Put the MH folder on a partition with no space left. Do inc, it clears the maildrop without writing the mail to the folder. Fix: Check the return status on close. Write your own fputs. *** uip/scansbr.c.old Fri Apr 3 23:58:08 1987 --- uip/scansbr.c Sat Apr 4 02:53:32 1987 *************** *** 42,50 #endif RPATHS #define FPUTS(buf) {\ ! if (fputs(buf,scnout) == EOF)\ ! adios (scnmsg, "write error on");\ ! } /* */ --- 42,50 ----- #endif RPATHS #define FPUTS(buf) {\ ! if(mh_fputs(buf,scnout) == EOF )\ ! adios (scnmsg, "write error on");\ ! } /* */ *************** *** 263,269 *--nxtbuf = tmpbuf; if (outnum) ! (void) fclose (scnout); return (state != FILEEOF ? SCNERR : encrypted ? SCNENC : SCNMSG); } --- 263,270 ----- *--nxtbuf = tmpbuf; if (outnum) ! if( fclose (scnout) == EOF) ! adios (scnmsg, "write error on"); return (state != FILEEOF ? SCNERR : encrypted ? SCNENC : SCNMSG); } *************** *** 280,283 register char *name; { return name; } --- 281,295 ----- register char *name; { return name; + } + + mh_fputs(s, stream) + char *s; + FILE *stream; + { + char c; + while(c = *s++) + if(putc(c,stream) == EOF ) + return(EOF); + return(0); } Sven-Ove Westberg, CAD, University of Lulea, S-951 87 Lulea Tel: +46-920-91677 (work) +46-920-48390 (home) UUCP: sow@luthcad.UUCP or seismo!mcvax!enea!luthcad!sow ARPA: enea!luthcad!sow@seismo.css.gov