@@ -434,7 +434,7 @@ static void CppcheckSignalHandler(int signo, siginfo_t * info, void * /*context*
434434
435435static const ULONG maxnamelength = 512 ;
436436struct IMAGEHLP_SYMBOL64_EXT : public IMAGEHLP_SYMBOL64 {
437- TCHAR NameExt[maxnamelength];
437+ TCHAR NameExt[maxnamelength]; // actually no need to worry about character encoding here
438438};
439439typedef BOOL (WINAPI *fpStackWalk64)(DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID, PREAD_PROCESS_MEMORY_ROUTINE64, PFUNCTION_TABLE_ACCESS_ROUTINE64, PGET_MODULE_BASE_ROUTINE64, PTRANSLATE_ADDRESS_ROUTINE64);
440440static fpStackWalk64 pStackWalk64;
@@ -497,9 +497,8 @@ static void PrintCallstack(FILE* f, PEXCEPTION_POINTERS ex)
497497 stack.AddrFrame .Mode = AddrModeFlat;
498498#endif
499499 IMAGEHLP_SYMBOL64_EXT symbol;
500- IMAGEHLP_SYMBOL64* pSymbol = &symbol;
501- pSymbol->SizeOfStruct = sizeof (IMAGEHLP_SYMBOL64);
502- pSymbol->MaxNameLength = maxnamelength;
500+ symbol.SizeOfStruct = sizeof (IMAGEHLP_SYMBOL64);
501+ symbol.MaxNameLength = maxnamelength;
503502 DWORD64 displacement = 0 ;
504503 int beyond_main=-1 ; // emergency exit, see below
505504 for (ULONG frame = 0 ; ; frame++) {
@@ -521,9 +520,9 @@ static void PrintCallstack(FILE* f, PEXCEPTION_POINTERS ex)
521520 );
522521 if (!result) // official end...
523522 break ;
524- result = pSymGetSymFromAddr64 (hProcess, (ULONG64)stack.AddrPC .Offset , &displacement, pSymbol );
523+ result = pSymGetSymFromAddr64 (hProcess, (ULONG64)stack.AddrPC .Offset , &displacement, &symbol );
525524 TCHAR undname[maxnamelength]= {0 };
526- pUnDecorateSymbolName ((const TCHAR*)pSymbol-> Name , (PTSTR)undname, GetArrayLength (undname), UNDNAME_COMPLETE);
525+ pUnDecorateSymbolName ((const TCHAR*)symbol. Name , (PTSTR)undname, (DWORD) GetArrayLength (undname), UNDNAME_COMPLETE);
527526 if (beyond_main>=0 )
528527 ++beyond_main;
529528 if (_tcscmp (undname, _T (" main" ))==0 )
0 commit comments