diff options
Diffstat (limited to 'games/canfield')
-rw-r--r-- | games/canfield/canfield/canfield.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/games/canfield/canfield/canfield.c b/games/canfield/canfield/canfield.c index 5380434..81c09499 100644 --- a/games/canfield/canfield/canfield.c +++ b/games/canfield/canfield/canfield.c @@ -1569,16 +1569,13 @@ initall() { int i; + if (dbfd < 0) + return; srandomdev(); time(&acctstart); initdeck(deck); uid = getuid(); - if (uid < 0) - uid = 0; - dbfd = open(_PATH_SCORE, 2); - setegid(getgid()); - if (dbfd < 0) - return; + i = lseek(dbfd, uid * sizeof(struct betinfo), 0); if (i < 0) { close(dbfd); @@ -1678,6 +1675,11 @@ main(argc, argv) int argc; char *argv[]; { + dbfd = open(_PATH_SCORE, 2); + + /* revoke */ + setgid(getgid()); + #ifdef MAXLOAD double vec[3]; |