Hi! Sending patches while your better half is screaming doesn't work too well, tedu@ already commited my changes for canfield(6), but they had a few stupid lseek(), although still needed, that no one probably would notice except theo@
Since the score file now only has 1 record, instead of 1 record per each uid like before, then the lseek needs to point to the beginning of the file and additionally if there's a open(2) then the immediate lseek is not needed. ndex: canfield/canfield.c =================================================================== RCS file: /cvs/src/games/canfield/canfield/canfield.c,v retrieving revision 1.17 diff -u -p -u -r1.17 canfield.c --- canfield/canfield.c 24 Nov 2015 02:53:39 -0000 1.17 +++ canfield/canfield.c 24 Nov 2015 10:59:32 -0000 @@ -1377,7 +1377,7 @@ suspend(void) move(21, 0); refresh(); if (dbfd != -1) { - lseek(dbfd, sizeof(struct betinfo), SEEK_SET); + lseek(dbfd, 0, SEEK_SET); write(dbfd, (char *)&total, sizeof(total)); } kill(getpid(), SIGTSTP); @@ -1635,12 +1635,6 @@ initall(void) dbfd = open(scorepath, O_RDWR | O_CREAT, 0644); if (dbfd < 0) return; - i = lseek(dbfd, sizeof(struct betinfo), SEEK_SET); - if (i < 0) { - close(dbfd); - dbfd = -1; - return; - } i = read(dbfd, (char *)&total, sizeof(total)); if (i < 0) { close(dbfd); @@ -1698,7 +1692,7 @@ cleanup(int dummy) status = NOBOX; updatebettinginfo(); if (dbfd != -1) { - lseek(dbfd, sizeof(struct betinfo), SEEK_SET); + lseek(dbfd, 0, SEEK_SET); write(dbfd, (char *)&total, sizeof(total)); close(dbfd); } Index: cfscores/cfscores.c =================================================================== RCS file: /cvs/src/games/canfield/cfscores/cfscores.c,v retrieving revision 1.17 diff -u -p -u -r1.17 cfscores.c --- cfscores/cfscores.c 24 Nov 2015 02:53:39 -0000 1.17 +++ cfscores/cfscores.c 24 Nov 2015 10:59:43 -0000 @@ -91,11 +91,6 @@ printuser(const struct passwd *pw, int p printf("Bad uid %u\n", pw->pw_uid); return; } - i = lseek(dbfd, sizeof(struct betinfo), SEEK_SET); - if (i < 0) { - warn("lseek %s", scorepath); - return; - } i = read(dbfd, (char *)&total, sizeof(total)); if (i < 0) { warn("lseek %s", scorepath);