/* update-game-score.c --- Update a score file
-Copyright (C) 2002-2012 Free Software Foundation, Inc.
+Copyright (C) 2002-2013 Free Software Foundation, Inc.
Author: Colin Walters <walters@debian.org>
#include <time.h>
#include <pwd.h>
#include <ctype.h>
-#ifdef HAVE_FCNTL_H
#include <fcntl.h>
-#endif
#include <sys/stat.h>
-
-/* Needed for SunOS4, for instance. */
-extern char *optarg;
-extern int optind, opterr;
-
-static int usage (int err) NO_RETURN;
+#include <getopt.h>
#define MAX_ATTEMPTS 5
#define MAX_SCORES 200
#define difftime(t1, t0) (double)((t1) - (t0))
#endif
-static int
+static _Noreturn void
usage (int err)
{
fprintf (stdout, "Usage: update-game-score [-m MAX] [-r] [-d DIR] game/scorefile SCORE DATA\n");
static int write_scores (const char *filename,
const struct score_entry *scores, int count);
-static void lose (const char *msg) NO_RETURN;
-
-static void
+static _Noreturn void
lose (const char *msg)
{
fprintf (stderr, "%s\n", msg);
exit (EXIT_FAILURE);
}
-static void lose_syserr (const char *msg) NO_RETURN;
-
-/* Taken from sysdep.c. */
-#ifndef HAVE_STRERROR
-#ifndef WINDOWSNT
-char *
-strerror (int errnum)
-{
- extern char *sys_errlist[];
- extern int sys_nerr;
-
- if (errnum >= 0 && errnum < sys_nerr)
- return sys_errlist[errnum];
- return (char *) "Unknown error";
-}
-#endif /* not WINDOWSNT */
-#endif /* ! HAVE_STRERROR */
-
-static void
+static _Noreturn void
lose_syserr (const char *msg)
{
fprintf (stderr, "%s: %s\n", msg, strerror (errno));