/*
* Operating-system dependent routines - Unix 4.3 and TOPS-20 version
*
* Mark Crispin, SUMEX Computer Project, 1 August 1988
*
* Copyright (c) 1988 Stanford University
*
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/timeb.h>
/* src:<kccdist.kcc-6.lib.usys>time.c */
extern int ftime(struct timeb *);
/* src:<kccdist.kcc-6.lib.gen>ctime.c */
extern char *timezone(int,int );
/* Write current time in RFC 822 format
* Accepts: destination string
*/
char *days[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
void rfc822_date (date)
char *date;
{
struct tm *t;
struct timeb tb;
ftime (&tb); /* get time and timezone poop */
t = localtime (&tb.time); /* convert to individual items */
/* and output it */
sprintf (date,"%s, %d %s %d %d:%02d:%02d %s",
days[t->tm_wday],t->tm_mday,months[t->tm_mon], t->tm_year+1900,
t->tm_hour,t->tm_min,t->tm_sec,timezone (tb.timezone,t->tm_isdst));
}