summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mbbsd/fav.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/mbbsd/fav.c b/mbbsd/fav.c
index fa7d144c..ba1f2b50 100644
--- a/mbbsd/fav.c
+++ b/mbbsd/fav.c
@@ -590,9 +590,15 @@ int fav_save(void)
if(fwp == NULL)
return -1;
write_favrec(fwp, fp);
- fclose(fwp);
- Rename(buf, buf2);
+ fflush(fwp);
+ if (!ferror(fwp)) {
+ fclose(fwp);
+ Rename(buf, buf2);
+ }
+ else
+ fclose(fwp);
+
return 0;
}