Remove dependencies on getdelim and getline.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 19 May 2014 04:56:03 +0000 (21:56 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 19 May 2014 04:56:03 +0000 (21:56 -0700)
commit60fc70a8e0bf25d7388fb4c2e31d912c203f561d
tree19edf3db0317cd7c5ab3c7b001214b9b7e33c061
parent337ee6b38ea35823ab77a03b3841cf888904b336
Remove dependencies on getdelim and getline.

Also, remove update-game-scores's limits on game scores and
simplify its file-locking code.
* configure.ac (getdelim, getline): Remove.
* lib-src/update-game-score.c (struct score_entry): Unify the username and
data members to a single user_data member, since they don't need to be
changed independently and getdelim and getline aren't helpful.
Make the score member char *, not intmax_t, so that scores are not
limited to intmax_t.  All uses changed.
(lose_syserr): A zero errno stands for invalid data in score file.
(normalize_integer): New function.
(main): Use it.  Check for invalid scores.  Omit redundant stat check.
(read_score): First arg is now a string, not a FILE *.  All uses
changed.  Do not use getdelim or getline; that's way simpler.
(read_scores): Read the whole file, and let read_score handle each
line.
(score_compare): Compare strings representing integers, not integers.
(write_scores) [DOS_NT]: Eliminate unnecessary chmod.
(lock_file): Simplify locking code, eliminating goto.
Check for unlink failure.
ChangeLog
configure.ac
lib-src/ChangeLog
lib-src/update-game-score.c