Check for i/o errors in fclose() so that a full disk doesn't almost

guarantee truncation of the file being edited.
This commit is contained in:
Bruce Evans 1995-04-16 22:40:49 +00:00
parent a164d484cd
commit 9e6dc28ab3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=7894

View File

@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
* $Id$
* $Id: ctm_ed.c,v 1.4 1994/09/22 02:49:17 phk Exp $
*
*/
@ -92,12 +92,23 @@ ctm_edit(u_char *script, int length, char *filein, char *fileout)
if(c == EOF) break;
putc(c,fo);
}
fclose(fi);
fclose(fo);
return 0;
ret = 0;
bye:
if(fi) fclose(fi);
if(fo) fclose(fo);
if(fi) {
if(fclose(fi) != 0) {
perror(filein);
ret = 1;
}
}
if(fo) {
if(fflush(fo) != 0) {
perror(fileout);
ret = 1;
}
if(fclose(fo) != 0) {
perror(fileout);
ret = 1;
}
}
return ret;
}