xref: /aosp_15_r20/external/lzma/CPP/Windows/NationalTime.cpp (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // Windows/NationalTime.cpp
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #include "StdAfx.h"
4*f6dc9357SAndroid Build Coastguard Worker 
5*f6dc9357SAndroid Build Coastguard Worker #include "NationalTime.h"
6*f6dc9357SAndroid Build Coastguard Worker 
7*f6dc9357SAndroid Build Coastguard Worker namespace NWindows {
8*f6dc9357SAndroid Build Coastguard Worker namespace NNational {
9*f6dc9357SAndroid Build Coastguard Worker namespace NTime {
10*f6dc9357SAndroid Build Coastguard Worker 
MyGetTimeFormat(LCID locale,DWORD flags,CONST SYSTEMTIME * time,LPCTSTR format,CSysString & resultString)11*f6dc9357SAndroid Build Coastguard Worker bool MyGetTimeFormat(LCID locale, DWORD flags, CONST SYSTEMTIME *time,
12*f6dc9357SAndroid Build Coastguard Worker     LPCTSTR format, CSysString &resultString)
13*f6dc9357SAndroid Build Coastguard Worker {
14*f6dc9357SAndroid Build Coastguard Worker   resultString.Empty();
15*f6dc9357SAndroid Build Coastguard Worker   int numChars = ::GetTimeFormat(locale, flags, time, format, NULL, 0);
16*f6dc9357SAndroid Build Coastguard Worker   if (numChars == 0)
17*f6dc9357SAndroid Build Coastguard Worker     return false;
18*f6dc9357SAndroid Build Coastguard Worker   numChars = ::GetTimeFormat(locale, flags, time, format,
19*f6dc9357SAndroid Build Coastguard Worker       resultString.GetBuf((unsigned)numChars), numChars + 1);
20*f6dc9357SAndroid Build Coastguard Worker   resultString.ReleaseBuf_CalcLen((unsigned)numChars);
21*f6dc9357SAndroid Build Coastguard Worker   return (numChars != 0);
22*f6dc9357SAndroid Build Coastguard Worker }
23*f6dc9357SAndroid Build Coastguard Worker 
MyGetDateFormat(LCID locale,DWORD flags,CONST SYSTEMTIME * time,LPCTSTR format,CSysString & resultString)24*f6dc9357SAndroid Build Coastguard Worker bool MyGetDateFormat(LCID locale, DWORD flags, CONST SYSTEMTIME *time,
25*f6dc9357SAndroid Build Coastguard Worker     LPCTSTR format, CSysString &resultString)
26*f6dc9357SAndroid Build Coastguard Worker {
27*f6dc9357SAndroid Build Coastguard Worker   resultString.Empty();
28*f6dc9357SAndroid Build Coastguard Worker   int numChars = ::GetDateFormat(locale, flags, time, format, NULL, 0);
29*f6dc9357SAndroid Build Coastguard Worker   if (numChars == 0)
30*f6dc9357SAndroid Build Coastguard Worker     return false;
31*f6dc9357SAndroid Build Coastguard Worker   numChars = ::GetDateFormat(locale, flags, time, format,
32*f6dc9357SAndroid Build Coastguard Worker       resultString.GetBuf((unsigned)numChars), numChars + 1);
33*f6dc9357SAndroid Build Coastguard Worker   resultString.ReleaseBuf_CalcLen((unsigned)numChars);
34*f6dc9357SAndroid Build Coastguard Worker   return (numChars != 0);
35*f6dc9357SAndroid Build Coastguard Worker }
36*f6dc9357SAndroid Build Coastguard Worker 
37*f6dc9357SAndroid Build Coastguard Worker }}}
38