summaryrefslogtreecommitdiff
path: root/libs/pbd/pbd/localtime_r.h
blob: 532bb3ed12349dc9e3b99273cb572a4b1f3624af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef PBD_LOCALTIME_R
#define PBD_LOCALTIME_R
#include <time.h>

#ifdef COMPILER_MSVC

#define localtime_r( _clock, _result ) \
	( *(_result) = *localtime( (_clock) ), (_result) )

#elif defined __MINGW64__

#  ifdef localtime_r
#  undef localtime_r
#  endif

// As in 64 bit time_t is 64 bit integer, compiler breaks compilation
// everytime implicit cast from long int* to time_t* worked in
// the past (32 bit). To unblock such a cast we added the localtime below:
extern struct tm *localtime(const long int *_Time);
extern struct tm *localtime_r(const time_t *const timep, struct tm *p_tm);

#endif

#endif