commit - b893b787cf33db7b9672b44c31066224b5cfd70e
commit + acc3e1bcd5460c709d9f18c07079fe4a6b8d9846
blob - 8f8144830390c50575f345dce85528b5a62b0dcc
blob + 32746e7cb373bee22079c29c3151cfde73328275
--- FICS/adminproc.c
+++ FICS/adminproc.c
msnprintf(tmp_file, sizeof tmp_file, "%s/.tmp.idx", news_dir);
- new_fp = fopen(tmp_file, "w");
- old_fp = fopen(filename, "r");
-
- if (!new_fp || !old_fp)
+ if ((new_fp = fopen(tmp_file, "w")) == NULL)
return 0;
-
fprintf(new_fp, "%s", new_item);
+ if ((old_fp = fopen(filename, "r")) == NULL)
+ goto end;
+
while (1) {
fgets(junk, MAX_LINE_SIZE, old_fp);
fprintf(new_fp, "%s", junk);
}
+ end:
fclose(new_fp);
- fclose(old_fp);
- remove(filename);
+ if (old_fp) {
+ fclose(old_fp);
+ remove(filename);
+ }
rename(tmp_file, filename);
return 1;