48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#if (!defined(HAVE_GMTIME_R) || !defined(HAVE_LOCALTIME_R)) && \
defined(OF_HAVE_THREADS)
static OFMutex *mutex;
#endif
#ifdef OF_WINDOWS
static WINAPI __time64_t (*func__mktime64)(struct tm *);
#endif
#ifdef HAVE_GMTIME_R
# define GMTIME_RET(field) \
time_t seconds = (time_t)_seconds; \
struct tm tm; \
\
|
|
|
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#if (!defined(HAVE_GMTIME_R) || !defined(HAVE_LOCALTIME_R)) && \
defined(OF_HAVE_THREADS)
static OFMutex *mutex;
#endif
#ifdef OF_WINDOWS
static __time64_t (*func__mktime64)(struct tm *);
#endif
#ifdef HAVE_GMTIME_R
# define GMTIME_RET(field) \
time_t seconds = (time_t)_seconds; \
struct tm tm; \
\
|
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
#if (!defined(HAVE_GMTIME_R) || !defined(HAVE_LOCALTIME_R)) && \
defined(OF_HAVE_THREADS)
mutex = [[OFMutex alloc] init];
#endif
#ifdef OF_WINDOWS
if ((module = LoadLibrary("msvcrt.dll")) != NULL)
func__mktime64 = (WINAPI __time64_t (*)(struct tm *))
GetProcAddress(module, "_mktime64");
#endif
}
+ (instancetype)date
{
return [[[self alloc] init] autorelease];
|
|
|
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
#if (!defined(HAVE_GMTIME_R) || !defined(HAVE_LOCALTIME_R)) && \
defined(OF_HAVE_THREADS)
mutex = [[OFMutex alloc] init];
#endif
#ifdef OF_WINDOWS
if ((module = LoadLibrary("msvcrt.dll")) != NULL)
func__mktime64 = (__time64_t (*)(struct tm *))
GetProcAddress(module, "_mktime64");
#endif
}
+ (instancetype)date
{
return [[[self alloc] init] autorelease];
|