diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-02-17 17:25:57 +0000 |
|---|---|---|
| committer | <> | 2015-03-17 16:26:24 +0000 |
| commit | 780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch) | |
| tree | 598f8b9fa431b228d29897e798de4ac0c1d3d970 /src/os_windows/ce_localtime.c | |
| parent | 7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff) | |
| download | berkeleydb-master.tar.gz | |
Diffstat (limited to 'src/os_windows/ce_localtime.c')
| -rw-r--r-- | src/os_windows/ce_localtime.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/os_windows/ce_localtime.c b/src/os_windows/ce_localtime.c new file mode 100644 index 00000000..23c53bed --- /dev/null +++ b/src/os_windows/ce_localtime.c @@ -0,0 +1,44 @@ +/*- + * See the file LICENSE for redistribution information. + * + * Copyright (c) 2012, 2015 Oracle and/or its affiliates. All rights reserved. + * + * $Id$ + */ + +#include "db_config.h" + +#include "db_int.h" + +/* + * __ce_localtime -- + * localtime implementation on WinCE. + * + * PUBLIC: #ifdef DB_WINCE + * PUBLIC: struct tm * localtime __P((const time_t *)); + * PUBLIC: #endif + */ +struct tm * +localtime(t) + const time_t *t; +{ + static struct tm y; + FILETIME uTm, lTm; + SYSTEMTIME pTm; + int64_t t64; + + t64 = *t; + t64 = (t64 + 11644473600)*10000000; + uTm.dwLowDateTime = (DWORD)(t64 & 0xFFFFFFFF); + uTm.dwHighDateTime= (DWORD)(t64 >> 32); + FileTimeToLocalFileTime(&uTm,&lTm); + FileTimeToSystemTime(&lTm,&pTm); + y.tm_year = pTm.wYear - 1900; + y.tm_mon = pTm.wMonth - 1; + y.tm_wday = pTm.wDayOfWeek; + y.tm_mday = pTm.wDay; + y.tm_hour = pTm.wHour; + y.tm_min = pTm.wMinute; + y.tm_sec = pTm.wSecond; + return &y; +} |
