|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T c
Length: 2852 (0xb24)
Types: TextFile
Names: »checktime.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦653021b30⟧ »EurOpenD3/utils/downtime.tar.Z«
└─⟦946c717da⟧
└─⟦this⟧ »checktime.c«
/*
* Copyright (c) 1988 Michael A. Cooper, University of Southern California.
* This program may be used, copied, modified, and redistributed freely
* for noncommercial purposes, so long as this notice remains intact.
*/
#ifndef lint
static char *RCSid = "$Header: checktime.c,v 4.3 88/07/05 15:58:52 mcooper Exp $";
#endif
/*
*------------------------------------------------------------------
*
* $Source: /usr/skat3/src/common/usc/etc/downtime/RCS/checktime.c,v $
* $Revision: 4.3 $
* $Date: 88/07/05 15:58:52 $
* $State: Exp $
*
*------------------------------------------------------------------
*
* Michael A. Cooper
* Research and Development Group
* University Computing Services
* University of Southern California
* (mcooper@oberon.USC.EDU)
*
*------------------------------------------------------------------
*
* $Log: checktime.c,v $
* Revision 4.3 88/07/05 15:58:52 mcooper
* Added copyright notice.
*
* Revision 4.2 88/05/24 13:29:03 mcooper
* Minor cleanup.
*
* Revision 4.1 88/05/23 15:40:29 mcooper
* All tm tm_mon members are now 0-11
* instead of 1-12 for compat. with
* the normal BSD time routines.
*
* Revision 4.0 88/04/20 15:41:49 mcooper
* Version 4.
*
* Revision 3.2 88/04/11 19:47:56 mcooper
* Converted all dt_flags to use flag
* bits.
*
* Revision 3.1 88/02/29 13:23:43 mcooper
* Do delta check locally.
*
* Revision 3.0 87/07/24 14:15:34 mcooper
* Version 3.
*
*------------------------------------------------------------------
*/
#include "defs.h"
/*
* checktime - Check to see if there are any downtimes coming up.
* If less than 7 days, add a message to motd.
* If in the past, nuke the entry.
* Otherwise, call warnusers() and let it decide if
* we should fork a downtime process.
*/
checktime()
{
struct downtime *dt;
int i = 0, st = -1;
int delta, savef;
long nt;
if (iflag && !quiet) {
printf(" Checking ... ");
fflush(stdout);
}
dtrewind();
while (dt = getdtent()) {
time(&nt);
delta = getdelta(localtime(&nt), dt->dt_down);
if (delta > warntime)
continue;
if (delta < 0) {
if (!iflag)
printf("%s: ", prog);
fflush(stdout);
delete(ttod(dt->dt_down), FORCE);
delmotd(dt);
i = 1;
continue;
}
if ((dt->dt_flags & F_MOTD) && !(dt->dt_flags & F_DONEMOTD)) {
if ((delta < motdtime) && (delta >= 0)) {
st = -1;
dt->dt_flags |= F_DONEMOTD;
dtlock(dt, L_UNLOCK);
addmotd(dt);
}
}
i = warnusers(dt, FALSE);
}
if (iflag && !quiet) {
if (i > 0) {
putchar('\n');
} else {
printf("Nothing found.\n");
}
setlinebuf(stdout);
}
if (st < 0 || i < 0)
return(-1);
else
return(0);
}