diff --git a/include/emptime.h b/include/emptime.h new file mode 100644 index 0000000..3c1eb7b --- /dev/null +++ b/include/emptime.h @@ -0,0 +1,43 @@ +/* + * Empire - A multi-player, client/server Internet based war game. + * Copyright (C) 1986-2011, Dave Pare, Jeff Bailey, Thomas Ruschak, + * Ken Stevens, Steve McClure, Markus Armbruster + * + * Empire is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * --- + * + * 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. + * + * --- + * + * emptime.h: Time functions for regression testing + * + * Known contributors to this file: + * Ron Koenderink, 2008 + * Markus Armbruster, 2012 + */ + +#ifndef EMPTIME_H +#define EMPTIME_H + +#include +#include + +extern time_t emp_time(time_t *, const char []); +extern int emp_gettimeofday(struct timeval *, void *); + +#endif diff --git a/src/lib/gen/emptime.c b/src/lib/gen/emptime.c new file mode 100644 index 0000000..4461093 --- /dev/null +++ b/src/lib/gen/emptime.c @@ -0,0 +1,60 @@ +/* + * Empire - A multi-player, client/server Internet based war game. + * Copyright (C) 1986-2011, Dave Pare, Jeff Bailey, Thomas Ruschak, + * Ken Stevens, Steve McClure, Markus Armbruster + * + * Empire is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * --- + * + * 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. + * + * --- + * + * emptime.c: Time functions for regression testing + * + * Known contributors to this file: + * Ron Koenderink, 2008 + * Markus Armbruster, 2012 + */ + +#include +#include +#include "emptime.h" + +static time_t now = (time_t)100L; + +time_t +emp_time(time_t * time_ptr, const char function[]) +{ + if (strcmp(function, "update_main") == 0) + now += 100L; + + if (time_ptr != NULL) + *time_ptr = now; + + return now; +} + +int +emp_gettimeofday(struct timeval *tv, void *tz) +{ + if (tv) { + tv->tv_sec = now; + tv->tv_usec = 0; + } + return 0; +}