shithub: scc

ref: fe6c85f724bdef3c203b6ebc83c4fe0edfb3094a
dir: /src/libc/time/localtime.c/

View raw version
#include <time.h>

#include "../libc.h"
#undef localtime

struct tm *
localtime(const time_t *timep)
{
	struct tzone *tz;
	struct tm *tm;
	time_t t = *timep;

	tz = _tzone(gmtime(timep));
	t += tz->gmtoff * 60;
	t += tz->isdst * 60;
	tm = gmtime(&t);
	tm->tm_zone = tz->name;
	tm->tm_isdst = tz->isdst;
	tm->tm_gmtoff = tz->gmtoff;

	return tm;
}