Module: wine Branch: master Commit: 54f30df9afca0855518f5d84268907443c193a45 URL: https://source.winehq.org/git/wine.git/?a=commit;h=54f30df9afca0855518f5d842...
Author: Esme Povirk esme@codeweavers.com Date: Fri Feb 4 13:41:50 2022 -0600
diasymreader: Implement SymWriter_GetSignatureAge.
Signed-off-by: Esme Povirk esme@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/diasymreader/writer.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/diasymreader/writer.c b/dlls/diasymreader/writer.c index 78d3d81a1bd..50b79e2175c 100644 --- a/dlls/diasymreader/writer.c +++ b/dlls/diasymreader/writer.c @@ -17,6 +17,7 @@ */
#include <stdarg.h> +#include <time.h>
#define COBJMACROS
@@ -39,6 +40,7 @@ typedef struct SymWriter { LONG ref; CRITICAL_SECTION lock; GUID pdb_guid; + DWORD pdb_timestamp; DWORD pdb_age; WCHAR pdb_filename[MAX_PATH]; } SymWriter; @@ -240,6 +242,8 @@ static HRESULT WINAPI SymWriter_Initialize(ISymUnmanagedWriter5 *iface, IUnknown if (filename) wcsncpy_s(This->pdb_filename, MAX_PATH, filename, _TRUNCATE);
+ This->pdb_timestamp = _time32(NULL); + LeaveCriticalSection(&This->lock);
return S_OK; @@ -465,8 +469,20 @@ static HRESULT WINAPI SymWriter_GetPath(IPdbWriter *iface, DWORD ccData, DWORD *
static HRESULT WINAPI SymWriter_GetSignatureAge(IPdbWriter *iface, DWORD *timestamp, DWORD *age) { - FIXME("(%p,%p,%p)\n", iface, timestamp, age); - return E_NOTIMPL; + SymWriter *This = impl_from_IPdbWriter(iface); + + TRACE("(%p,%p,%p)\n", This, timestamp, age); + + EnterCriticalSection(&This->lock); + + if (timestamp) + *timestamp = This->pdb_timestamp; + if (age) + *age = This->pdb_age; + + LeaveCriticalSection(&This->lock); + + return S_OK; }
static const IPdbWriterVtbl SymWriter_PdbWriter_Vtbl = {