extern void lost_and_found(int, natid, natid, int, coord, coord);
extern void makelost(short, natid, short, coord, coord);
extern void makenotlost(short, natid, short, coord, coord);
+extern void delete_old_lostitems(void);
#endif
#include "file.h"
#include "lost.h"
+#include "misc.h"
+#include "optlist.h"
static int findlost(short, natid, short, coord, coord, int);
return -1;
}
+
+void
+delete_old_lostitems(void)
+{
+ time_t expiry_time = time(NULL) - hours(lost_keep_hours);
+ struct loststr lost;
+ int i;
+
+ for (i = 0; getlost(i, &lost); i++) {
+ if (!lost.lost_owner)
+ continue;
+ if (lost.lost_timestamp >= expiry_time)
+ continue;
+ lost.lost_owner = 0;
+ putlost(i, &lost);
+ }
+}
+++ /dev/null
-/*
- * Empire - A multi-player, client/server Internet based war game.
- * 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
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * ---
- *
- * 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.
- *
- * ---
- *
- * lostitem.c: This deletes the old lost items
- *
- * Known contributors to this file:
- * Steve McClure, 1997
- */
-
-#include <config.h>
-
-#include "empthread.h"
-#include "file.h"
-#include "lost.h"
-#include "optlist.h"
-#include "server.h"
-
-/*ARGSUSED*/
-void
-delete_lostitems(void *unused)
-{
- time_t now;
- struct loststr lost;
- int n;
- int ncnt;
-
- while (1) {
- time(&now);
-/* logerror("Deleting lost items at %s", ctime(&now));*/
- ncnt = 0;
- for (n = 0; getlost(n, &lost); n++) {
- if (!lost.lost_owner)
- continue;
- if (lost.lost_timestamp > (now - hours(lost_keep_hours)))
- continue;
- lost.lost_owner = 0;
- putlost(n, &lost);
- ncnt++;
- }
-/* logerror("Deleted %d lost items", ncnt, ctime(&now));*/
- now = now + 900; /* Every 15 minutes */
- empth_sleep(now);
- }
- /*NOTREACHED*/
-}
empth_create(player_accept, 50 * 1024, flags, "AcceptPlayers", 0);
empth_create(player_kill_idle, 50 * 1024, flags, "KillIdle", 0);
- empth_create(delete_lostitems, 50 * 1024, flags, "DeleteItems", 0);
market_init();
update_init();