Skip to content

Commit

Permalink
rt: Remove libtime wrappers
Browse files Browse the repository at this point in the history
They are unused since libtime is gone.
  • Loading branch information
klutzy committed Jan 19, 2015
1 parent 7b87900 commit d2623f2
Showing 1 changed file with 0 additions and 138 deletions.
138 changes: 0 additions & 138 deletions src/rt/rust_builtin.c
Expand Up @@ -41,29 +41,6 @@
//include valgrind.h after stdint.h so that uintptr_t is defined for msys2 w64
#include "valgrind/valgrind.h"

#ifdef __ANDROID__
time_t
timegm(struct tm *tm)
{
time_t ret;
char *tz;

tz = getenv("TZ");
if (tz)
tz = strdup(tz);
setenv("TZ", "", 1);
tzset();
ret = mktime(tm);
if (tz) {
setenv("TZ", tz, 1);
free(tz);
} else
unsetenv("TZ");
tzset();
return ret;
}
#endif

#ifdef __APPLE__
#if (TARGET_OS_IPHONE)
extern char **environ;
Expand Down Expand Up @@ -100,121 +77,6 @@ rust_list_dir_val(struct dirent* entry_ptr) {
}
#endif

typedef struct {
int32_t tm_sec;
int32_t tm_min;
int32_t tm_hour;
int32_t tm_mday;
int32_t tm_mon;
int32_t tm_year;
int32_t tm_wday;
int32_t tm_yday;
int32_t tm_isdst;
int32_t tm_gmtoff;
int32_t tm_nsec;
} rust_tm;

void rust_tm_to_tm(rust_tm* in_tm, struct tm* out_tm) {
memset(out_tm, 0, sizeof(struct tm));
out_tm->tm_sec = in_tm->tm_sec;
out_tm->tm_min = in_tm->tm_min;
out_tm->tm_hour = in_tm->tm_hour;
out_tm->tm_mday = in_tm->tm_mday;
out_tm->tm_mon = in_tm->tm_mon;
out_tm->tm_year = in_tm->tm_year;
out_tm->tm_wday = in_tm->tm_wday;
out_tm->tm_yday = in_tm->tm_yday;
out_tm->tm_isdst = in_tm->tm_isdst;
}

void tm_to_rust_tm(struct tm* in_tm,
rust_tm* out_tm,
int32_t gmtoff,
int32_t nsec) {
out_tm->tm_sec = in_tm->tm_sec;
out_tm->tm_min = in_tm->tm_min;
out_tm->tm_hour = in_tm->tm_hour;
out_tm->tm_mday = in_tm->tm_mday;
out_tm->tm_mon = in_tm->tm_mon;
out_tm->tm_year = in_tm->tm_year;
out_tm->tm_wday = in_tm->tm_wday;
out_tm->tm_yday = in_tm->tm_yday;
out_tm->tm_isdst = in_tm->tm_isdst;
out_tm->tm_gmtoff = gmtoff;
out_tm->tm_nsec = nsec;
}

#if defined(__WIN32__)
#define TZSET() _tzset()
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
#define GMTIME(clock, result) gmtime_s((result), (clock))
#define LOCALTIME(clock, result) localtime_s((result), (clock))
#define TIMEGM(result) _mkgmtime64(result)
#else
struct tm* GMTIME(const time_t *clock, struct tm *result) {
struct tm* t = gmtime(clock);
if (t == NULL || result == NULL) { return NULL; }
*result = *t;
return result;
}
struct tm* LOCALTIME(const time_t *clock, struct tm *result) {
struct tm* t = localtime(clock);
if (t == NULL || result == NULL) { return NULL; }
*result = *t;
return result;
}
#define TIMEGM(result) mktime((result)) - _timezone
#endif
#else
#define TZSET() tzset()
#define GMTIME(clock, result) gmtime_r((clock), (result))
#define LOCALTIME(clock, result) localtime_r((clock), (result))
#define TIMEGM(result) timegm(result)
#endif

void
rust_tzset() {
TZSET();
}

void
rust_gmtime(int64_t sec, int32_t nsec, rust_tm *timeptr) {
struct tm tm;
time_t s = sec;
GMTIME(&s, &tm);

tm_to_rust_tm(&tm, timeptr, 0, nsec);
}

void
rust_localtime(int64_t sec, int32_t nsec, rust_tm *timeptr) {
struct tm tm;
time_t s = sec;
LOCALTIME(&s, &tm);

#if defined(__WIN32__)
int32_t gmtoff = -timezone;
#else
int32_t gmtoff = tm.tm_gmtoff;
#endif

tm_to_rust_tm(&tm, timeptr, gmtoff, nsec);
}

int64_t
rust_timegm(rust_tm* timeptr) {
struct tm t;
rust_tm_to_tm(timeptr, &t);
return TIMEGM(&t);
}

int64_t
rust_mktime(rust_tm* timeptr) {
struct tm t;
rust_tm_to_tm(timeptr, &t);
return mktime(&t);
}

#ifndef _WIN32

DIR*
Expand Down

0 comments on commit d2623f2

Please sign in to comment.