135 lines
2.8 KiB
Plaintext
135 lines
2.8 KiB
Plaintext
*** highscore.c.orig Wed Jan 4 17:13:31 1995
|
|
--- highscore.c Fri Apr 7 00:13:54 1995
|
|
***************
|
|
*** 54,59 ****
|
|
--- 54,60 ----
|
|
#include <unistd.h>
|
|
#include <time.h>
|
|
#include <sys/param.h>
|
|
+ #include <sys/stat.h>
|
|
#include <netinet/in.h>
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
***************
|
|
*** 118,124 ****
|
|
static void InitialiseHighScores(void);
|
|
static void SortHighScores(void);
|
|
static void DeleteScore(int i);
|
|
! static int LockUnlock(int cmd);
|
|
#else
|
|
static int LockUnlock();
|
|
static void DeleteScore();
|
|
--- 119,125 ----
|
|
static void InitialiseHighScores(void);
|
|
static void SortHighScores(void);
|
|
static void DeleteScore(int i);
|
|
! static int LockUnlock(int cmd, int fd);
|
|
#else
|
|
static int LockUnlock();
|
|
static void DeleteScore();
|
|
***************
|
|
*** 839,845 ****
|
|
|
|
/* Lock the file for me only */
|
|
if (type == GLOBAL)
|
|
! id = LockUnlock(LOCK_FILE);
|
|
|
|
/* Read in the lastest scores */
|
|
if (ReadHighScoreTable(type) == False)
|
|
--- 840,846 ----
|
|
|
|
/* Lock the file for me only */
|
|
if (type == GLOBAL)
|
|
! id = LockUnlock(LOCK_FILE, -1);
|
|
|
|
/* Read in the lastest scores */
|
|
if (ReadHighScoreTable(type) == False)
|
|
***************
|
|
*** 869,875 ****
|
|
else
|
|
{
|
|
/* Don't add as score is smaller */
|
|
! return False;
|
|
}
|
|
}
|
|
} /* for */
|
|
--- 870,876 ----
|
|
else
|
|
{
|
|
/* Don't add as score is smaller */
|
|
! goto doUnlock;
|
|
}
|
|
}
|
|
} /* for */
|
|
***************
|
|
*** 891,906 ****
|
|
|
|
/* Unlock the file now thanks */
|
|
if (id != -1)
|
|
! id = LockUnlock(UNLOCK_FILE);
|
|
|
|
/* Yes - it was placed in the highscore */
|
|
return True;
|
|
}
|
|
}
|
|
|
|
/* Unlock the file now thanks */
|
|
if (id != -1)
|
|
! id = LockUnlock(UNLOCK_FILE);
|
|
|
|
/* Not even a highscore - loser! */
|
|
return False;
|
|
--- 892,908 ----
|
|
|
|
/* Unlock the file now thanks */
|
|
if (id != -1)
|
|
! id = LockUnlock(UNLOCK_FILE, id);
|
|
|
|
/* Yes - it was placed in the highscore */
|
|
return True;
|
|
}
|
|
}
|
|
|
|
+ doUnlock:
|
|
/* Unlock the file now thanks */
|
|
if (id != -1)
|
|
! id = LockUnlock(UNLOCK_FILE, id);
|
|
|
|
/* Not even a highscore - loser! */
|
|
return False;
|
|
***************
|
|
*** 1178,1187 ****
|
|
}
|
|
|
|
#if NeedFunctionPrototypes
|
|
! static int LockUnlock(int cmd)
|
|
#else
|
|
! static int LockUnlock(cmd)
|
|
! int cmd;
|
|
#endif
|
|
{
|
|
static int inter = -1;
|
|
--- 1180,1189 ----
|
|
}
|
|
|
|
#if NeedFunctionPrototypes
|
|
! static int LockUnlock(int cmd, int fd)
|
|
#else
|
|
! static int LockUnlock(cmd, fd)
|
|
! int cmd, fd;
|
|
#endif
|
|
{
|
|
static int inter = -1;
|
|
***************
|
|
*** 1218,1223 ****
|
|
--- 1220,1228 ----
|
|
/* Open the highscore file for both read & write */
|
|
if (cmd == LOCK_FILE)
|
|
inter = open(filename, O_CREAT | O_RDWR, 0666);
|
|
+ else
|
|
+ /* use old fd to unlock */
|
|
+ inter = fd;
|
|
|
|
#ifndef NO_LOCKING
|
|
|