summaryrefslogtreecommitdiff
path: root/lib/timegm.c
blob: e86e663702ef6dcf4ee17b160ec8bc87acf033c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "config.h"

#include <time.h>
#include <stdlib.h>

time_t xine_private_timegm(struct tm *tm) {
  time_t ret;
#if defined(HAVE_TZSET)
  char *tz;

  tz = getenv("TZ");
  setenv("TZ", "", 1);
  tzset();
#endif
  ret = mktime(tm);
#if defined(HAVE_TZSET)
  if (tz) setenv("TZ", tz, 1);
  else unsetenv("TZ");
  tzset();
#endif

  return ret;
}