freebsd-nq/libexec/bootpd/tzone.c

49 lines
951 B
C
Raw Normal View History

1994-09-30 05:45:07 +00:00
/*
* tzone.c - get the timezone
*
* This is shared by bootpd and bootpef
*
* $FreeBSD$
1994-09-30 05:45:07 +00:00
*/
#ifdef SVR4
/* XXX - Is this really SunOS specific? -gwr */
/* This is in <time.h> but only visible if (__STDC__ == 1). */
extern long timezone;
#else /* SVR4 */
/* BSD or SunOS */
# include <time.h>
1994-09-30 05:45:07 +00:00
# include <syslog.h>
#endif /* SVR4 */
#include "bptypes.h"
#include "report.h"
#include "tzone.h"
/* This is what other modules use. */
int32 secondswest;
/*
* Get our timezone offset so we can give it to clients if the
* configuration file doesn't specify one.
*/
void
tzone_init()
{
#ifdef SVR4
/* XXX - Is this really SunOS specific? -gwr */
secondswest = timezone;
#else /* SVR4 */
struct tm *tm;
time_t now;
(void)time(&now);
if ((tm = localtime(&now)) == NULL) {
1994-09-30 05:45:07 +00:00
secondswest = 0; /* Assume GMT for lack of anything better */
report(LOG_ERR, "localtime() failed");
1994-09-30 05:45:07 +00:00
} else {
secondswest = -tm->tm_gmtoff;
1994-09-30 05:45:07 +00:00
}
#endif /* SVR4 */
}