|
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 d
Length: 1437 (0x59d) Types: TextFile Names: »dateandtime.c«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89 └─⟦this⟧ »./tex82/cmf/MFlib/dateandtime.c«
#ifndef lint static char RCSid[] = "$Header: dateandtime.c,v 1.0 86/01/31 15:01:12 richards Released $"; #endif /* ** DATEANDTIME.C -- external procedures: ** ** procedure dateandtime( ** var minutes, ** day, ** month, ** year: integer); */ #include <signal.h> #include <time.h> #define EXTERN extern #include "../mfd.h" /* ** catchint() ** ** Gets called when the user hits his interrupt key. Sets the global ** "interrupt" nonzero, then sets it up so that the next interrupt will ** also be caught here. ** */ extern integer interrupt; /* defined in mf.p; non-zero means */ /* a user-interrupt request */ /* is pending */ catchint() { interrupt = 1; (void) signal(SIGINT,catchint); } /* ** dateandtime(time, day, month, year) ** ** Stores minutes since midnight, current day, month and year into ** *time, *day, *month and *year, respectively. ** ** Also, set things up so that catchint() will get control on interrupts. ** */ ydateandtime(minutes, day, month, year) integer *minutes, *day, *month, *year; { long clock, time(); struct tm *tmptr, *localtime(); static int (*psig)(); clock = time((long *) 0); tmptr = localtime(&clock); *minutes = tmptr->tm_hour * 60 + tmptr->tm_min; *day = tmptr->tm_mday; *month = tmptr->tm_mon + 1; *year = tmptr->tm_year + 1900; if ((psig = signal(SIGINT,catchint)) != SIG_DFL) (void) signal(SIGINT, psig); }