Mercurial > libpst
annotate src/timeconv.c @ 406:7200790e46ac
Added tag stable-0-6-75 for changeset af8ae7bd3fed
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Tue, 16 Jun 2020 17:18:28 -0700 |
parents | ad7b880ad3d1 |
children |
rev | line source |
---|---|
122
bdb38b434c0a
more changes from Fridrich Strba to avoid installing our config.h
Carl Byington <carl@five-ten-sg.com>
parents:
118
diff
changeset
|
1 #include "define.h" |
bdb38b434c0a
more changes from Fridrich Strba to avoid installing our config.h
Carl Byington <carl@five-ten-sg.com>
parents:
118
diff
changeset
|
2 |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
172
diff
changeset
|
3 |
16 | 4 |
199
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
5 char* pst_fileTimeToAscii(const FILETIME* filetime, char* result) { |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
172
diff
changeset
|
6 time_t t; |
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
172
diff
changeset
|
7 t = pst_fileTimeToUnixTime(filetime); |
199
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
8 return ctime_r(&t, result); |
16 | 9 } |
10 | |
378
ad7b880ad3d1
Alfredo Esteban - add -l and -f options to lspst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
11 size_t pst_fileTimeToString(const FILETIME* filetime, const char* date_format, char* result) { |
ad7b880ad3d1
Alfredo Esteban - add -l and -f options to lspst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
12 time_t t; |
ad7b880ad3d1
Alfredo Esteban - add -l and -f options to lspst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
13 t = pst_fileTimeToUnixTime(filetime); |
ad7b880ad3d1
Alfredo Esteban - add -l and -f options to lspst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
14 return strftime(result, MAXDATEFMTLEN-1, date_format, localtime(&t)); |
ad7b880ad3d1
Alfredo Esteban - add -l and -f options to lspst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
15 } |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
172
diff
changeset
|
16 |
199
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
17 void pst_fileTimeToStructTM (const FILETIME *filetime, struct tm *result) { |
172
6954d315aaa8
move version-info into main configure.in, and set it properly.
Carl Byington <carl@five-ten-sg.com>
parents:
129
diff
changeset
|
18 time_t t1; |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
172
diff
changeset
|
19 t1 = pst_fileTimeToUnixTime(filetime); |
199
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
20 gmtime_r(&t1, result); |
16 | 21 } |
22 | |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
172
diff
changeset
|
23 |
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
172
diff
changeset
|
24 time_t pst_fileTimeToUnixTime(const FILETIME *filetime) |
16 | 25 { |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
26 uint64_t t = filetime->dwHighDateTime; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
27 const uint64_t bias = 11644473600LL; |
16 | 28 t <<= 32; |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
172
diff
changeset
|
29 t += filetime->dwLowDateTime; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
30 t /= 10000000; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
31 t -= bias; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
32 return ((t > (uint64_t)0x000000007fffffff) && (sizeof(time_t) <= 4)) ? 0 : (time_t)t; |
16 | 33 } |
118
0f1492b7fe8b
patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents:
75
diff
changeset
|
34 |