/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2008, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure
*
* This program is free software; you can redistribute it and/or modify
*
* ---
*
- * See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
- * related information and legal notices. It is expected that any future
- * projects/authors will amend these files as needed.
+ * See files README, COPYING and CREDITS in the root of the source
+ * tree for related information and legal notices. It is expected
+ * that future projects/authors will amend these files as needed.
*
* ---
*
* hours.c: Game hours determination; is it legal to play now?
- *
+ *
* Known contributors to this file:
* Dave Pare, 1989
* Doug Hay, 1998
* Steve McClure, 1998
+ * Markus Armbruster, 2004
*/
#include <config.h>
-#include <limits.h>
+#include <ctype.h>
#include <time.h>
#include "misc.h"
#include "optlist.h"
return is_daytime_allowed(60 * tm->tm_hour + tm->tm_min, game_hours);
}
-/*
- * Is day time DTIME (minutes since midnight) near a time in TIMES?
- * TIMES is a list of day times. See daytime() for syntax.
- * DTIME is near a listed time T if its within T and T + SLOP minutes.
- */
-int
-is_daytime_near(int dtime, char *times, int slop)
-{
- int dt;
-
- if (times)
- while (NULL != (times = daytime(times, &dt)))
- if (dt <= dtime && dtime < dt + slop)
- return 1;
-
- return 0;
-}
-
-/*
- * Return time in minutes between DTIME and next time in TIMES.
- * If TIMES doesn't give a time, return -1.
- * DTIME is day time in minutes since midnight.
- * TIMES is a list of day times. See daytime() for syntax.
- */
-int
-min_to_next_daytime(int dtime, char *times)
-{
- int mindt = INT_MAX;
- int dt;
-
- if (times) {
- while (NULL != (times = daytime(times, &dt))) {
- if (dt <= dtime)
- dt += 24 * 60; /* tomorrow */
- if (dt < mindt)
- mindt = dt;
- }
- }
-
- if (mindt == INT_MAX)
- return -1;
- return mindt - dtime;
-}
-
/*
* Parse weekday name in STR.
* On success assign day number (Sunday is 0) to *WDAY and return