commit - 82f1cb9aac57634234312b0968c832928b30af01
commit + 91fa3e845d9f90f289d6bcf4c4cc91ee050fb315
blob - fad2df5b9620457d16ff72ee86f5aee2927a5f90
blob + f3a351bc58a8529db0cf352b4043513c8b28f762
--- FICS/gamedb.c
+++ FICS/gamedb.c
char fname[MAX_FILENAME_SIZE];
char lname[MAX_FILENAME_SIZE];
game *gg = &garray[g];
+ int fd;
player *wp, *bp;
wp = &parray[gg->white];
msnprintf(lname, sizeof lname, "%s/%c/%s-%s", adj_dir, bp->login[0],
wp->login, bp->login);
- fp = fopen(fname, "w");
-
- if (!fp) {
+ if ((fd = open(fname, g_open_flags[1], g_open_modes)) < 0) {
+ warn("%s: open: %s", __func__, fname);
+ return -1;
+ } else if ((fp = fdopen(fd, "w")) == NULL) {
fprintf(stderr, "FICS: Problem opening file %s for write\n",
fname);
+ close(fd);
return -1;
}
char *name, time_t *now)
{
FILE *fp;
- char *goteco;
char cResult;
char tmp[2048] = { '\0' };
- char *ptmp = tmp;
char type[4];
+ char *goteco;
+ char *ptmp = tmp;
int count = -1;
+ int fd;
int wp, bp;
int wr, br;
count = (count + 1) % 100;
- if ((fp = fopen(file, "a")) == NULL)
+ if ((fd = open(file, g_open_flags[0], g_open_modes)) < 0) {
+ warn("%s: open: %s", __func__, file);
return;
+ } else if ((fp = fdopen(fd, "a")) == NULL) {
+ close(fd);
+ return;
+ }
+
goteco = getECO(g);
/*