1
1

Fix gettimeofday to compile with Visual C++ 6.

Reported by Steven Van Ingelgem.
Этот коммит содержится в:
Alexander Lamaison 2010-03-12 11:29:31 +00:00
родитель e54786cf2e
Коммит c585828d2b

@ -528,22 +528,22 @@ void _libssh2_list_insert(struct list_node *after, /* insert before this */
*/ */
/* Offset between 1/1/1601 and 1/1/1970 in 100 nanosec units */ /* Offset between 1/1/1601 and 1/1/1970 in 100 nanosec units */
#define _W32_FT_OFFSET (116444736000000000ULL) #define _W32_FT_OFFSET (116444736000000000)
int __cdecl gettimeofday(struct timeval *tp, int __cdecl gettimeofday(struct timeval *tp,
void *tzp) void *tzp)
{ {
union { union {
unsigned long long ns100; /*time since 1 Jan 1601 in 100ns units */ unsigned __int64 ns100; /*time since 1 Jan 1601 in 100ns units */
FILETIME ft; FILETIME ft;
} _now; } _now;
if(tp) if(tp)
{ {
GetSystemTimeAsFileTime (&_now.ft); GetSystemTimeAsFileTime (&_now.ft);
tp->tv_usec=(long)((_now.ns100 / 10ULL) % 1000000ULL ); tp->tv_usec=(long)((_now.ns100 / 10) % 1000000 );
tp->tv_sec= (long)((_now.ns100 - _W32_FT_OFFSET) / 10000000ULL); tp->tv_sec= (long)((_now.ns100 - _W32_FT_OFFSET) / 10000000);
} }
/* Always return 0 as per Open Group Base Specifications Issue 6. /* Always return 0 as per Open Group Base Specifications Issue 6.
Do not set errno on error. */ Do not set errno on error. */