mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-01-30 11:03:31 +00:00
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
65 lines
2.0 KiB
C++
65 lines
2.0 KiB
C++
// Copyright 2009 Dolphin Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#ifdef _WIN32
|
|
#include <optional>
|
|
#endif
|
|
#include <string>
|
|
|
|
#ifndef _WIN32
|
|
|
|
// go to debugger mode
|
|
#define Crash() \
|
|
{ \
|
|
__builtin_trap(); \
|
|
}
|
|
|
|
#else // WIN32
|
|
// Function Cross-Compatibility
|
|
#define strcasecmp _stricmp
|
|
#define strncasecmp _strnicmp
|
|
#define unlink _unlink
|
|
#define vscprintf _vscprintf
|
|
|
|
// 64 bit offsets for Windows
|
|
#define fseeko _fseeki64
|
|
#define ftello _ftelli64
|
|
#define atoll _atoi64
|
|
#define stat _stat64
|
|
#define fstat _fstat64
|
|
#define fileno _fileno
|
|
|
|
extern "C" {
|
|
__declspec(dllimport) void __stdcall DebugBreak(void);
|
|
}
|
|
#define Crash() \
|
|
{ \
|
|
DebugBreak(); \
|
|
}
|
|
#endif // _WIN32
|
|
|
|
namespace Common
|
|
{
|
|
// strerror_r wrapper to handle XSI and GNU versions.
|
|
const char* StrErrorWrapper(int error, char* buffer, std::size_t length);
|
|
|
|
// Wrapper functions to get strerror(errno) string, which itself is not threadsafe.
|
|
// These functions might change the error code.
|
|
std::string StrerrorString(int error);
|
|
std::string LastStrerrorString();
|
|
|
|
#ifdef _WIN32
|
|
// Wrapper function to get GetLastError() string.
|
|
// This function might change the error code.
|
|
std::string GetLastErrorString();
|
|
|
|
// Like GetLastErrorString() but if you have already queried the error code.
|
|
std::string GetWin32ErrorString(unsigned long error_code);
|
|
|
|
// Obtains a full path to the specified module.
|
|
std::optional<std::wstring> GetModuleName(void* hInstance);
|
|
#endif
|
|
} // namespace Common
|