- if (sync_fp == NULL) {
- (void) sprintf(sync_lock, LF, game);
- (void) sprintf(sync_file, SF, game);
- if (access(sync_file, 0) < 0) {
- int omask = umask(issetuid ? 077 : 011);
- sync_fp = fopen(sync_file, "w+");
- (void) umask(omask);
- } else
- sync_fp = fopen(sync_file, "r+");
- if (sync_fp == NULL)
- return -1;
- }
+ if (sync_fp != NULL)
+ (void) fclose(sync_fp);
+ (void) sprintf(sync_lock, LF, game);
+ (void) sprintf(sync_file, SF, game);
+ if (access(sync_file, 0) < 0) {
+ int omask = umask(issetuid ? 077 : 011);
+ sync_fp = fopen(sync_file, "w+");
+ (void) umask(omask);
+ } else
+ sync_fp = fopen(sync_file, "r+");
+ if (sync_fp == NULL)
+ return -1;