From de8a8bbd7f8f0d70b4ec730f8ee1b75aa61a1cb1 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Tue, 7 Oct 2003 02:14:11 +0000 Subject: [PATCH] fcopy() now fails if an fputc() call fails (no diskspace?), which causes backup to stop the backup process if any single-file backup fails. --- src/sbbs3/scfgsave.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/sbbs3/scfgsave.c b/src/sbbs3/scfgsave.c index 76f972b223..2c6ea654d5 100644 --- a/src/sbbs3/scfgsave.c +++ b/src/sbbs3/scfgsave.c @@ -84,6 +84,7 @@ BOOL DLLCALL fcopy(char* src, char* dest) ulong count=0; FILE* in; FILE* out; + BOOL success=TRUE; if((in=fopen(src,"rb"))==NULL) return(FALSE); @@ -93,10 +94,12 @@ BOOL DLLCALL fcopy(char* src, char* dest) } while(!feof(in)) { - ch=fgetc(in); - if(ch==EOF) + if((ch=fgetc(in))==EOF) break; - fputc(ch,out); + if(fputc(ch,out)==EOF) { + success=FALSE; + break; + } if(((count++)%(32*1024))==0) YIELD(); } @@ -104,7 +107,7 @@ BOOL DLLCALL fcopy(char* src, char* dest) fclose(in); fclose(out); - return(TRUE); + return(success); } /****************************************************************************/ -- GitLab