Enable all warnings, turn the noisy ones back off, fix the others.
This commit is contained in:
parent
39ff0bf3e4
commit
6fa00223ad
6 changed files with 31 additions and 11 deletions
|
@ -29,7 +29,17 @@ if(WIN32)
|
||||||
add_definitions(-DDISCORD_WINDOWS)
|
add_definitions(-DDISCORD_WINDOWS)
|
||||||
set(BASE_RPC_SRC ${BASE_RPC_SRC} connection_win.cpp discord_register_win.cpp)
|
set(BASE_RPC_SRC ${BASE_RPC_SRC} connection_win.cpp discord_register_win.cpp)
|
||||||
add_library(discord-rpc ${RPC_LIBRARY_TYPE} ${BASE_RPC_SRC})
|
add_library(discord-rpc ${RPC_LIBRARY_TYPE} ${BASE_RPC_SRC})
|
||||||
target_compile_options(discord-rpc PRIVATE /W4)
|
target_compile_options(discord-rpc PRIVATE /EHsc
|
||||||
|
/Wall
|
||||||
|
/wd4514 # unreferenced inline
|
||||||
|
/wd4625 # copy constructor deleted
|
||||||
|
/wd5026 # move constructor deleted
|
||||||
|
/wd4626 # move assignment operator deleted
|
||||||
|
/wd4710 # function not inlined
|
||||||
|
/wd4820 # structure padding
|
||||||
|
/wd4946 # reinterpret_cast used between related classes
|
||||||
|
/wd5027 # move assignment operator was implicitly defined as deleted
|
||||||
|
)
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
|
@ -88,4 +98,4 @@ install(
|
||||||
FILES
|
FILES
|
||||||
"../include/discord-rpc.h"
|
"../include/discord-rpc.h"
|
||||||
DESTINATION "include"
|
DESTINATION "include"
|
||||||
)
|
)
|
||||||
|
|
|
@ -20,7 +20,7 @@ struct Backoff {
|
||||||
, maxAmount(max)
|
, maxAmount(max)
|
||||||
, current(min)
|
, current(min)
|
||||||
, fails(0)
|
, fails(0)
|
||||||
, randGenerator(time(0))
|
, randGenerator((uint64_t)time(0))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
int GetProcessId()
|
int GetProcessId()
|
||||||
{
|
{
|
||||||
return ::GetCurrentProcessId();
|
return (int)::GetCurrentProcessId();
|
||||||
}
|
}
|
||||||
|
|
||||||
struct BaseConnectionWin : public BaseConnection {
|
struct BaseConnectionWin : public BaseConnection {
|
||||||
|
@ -125,4 +125,4 @@ bool BaseConnection::Read(void* data, size_t length)
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,9 +17,8 @@ void Discord_RegisterW(const wchar_t* applicationId, const wchar_t* command)
|
||||||
// Update the HKEY_CURRENT_USER, because it doesn't seem to require special permissions.
|
// Update the HKEY_CURRENT_USER, because it doesn't seem to require special permissions.
|
||||||
|
|
||||||
wchar_t exeFilePath[MAX_PATH];
|
wchar_t exeFilePath[MAX_PATH];
|
||||||
int exeLen = GetModuleFileNameExW(GetCurrentProcess(), nullptr, exeFilePath, MAX_PATH);
|
DWORD exeLen = GetModuleFileNameExW(GetCurrentProcess(), nullptr, exeFilePath, MAX_PATH);
|
||||||
wchar_t openCommand[1024];
|
wchar_t openCommand[1024];
|
||||||
const auto commandBufferLen = sizeof(openCommand) / sizeof(*openCommand);
|
|
||||||
|
|
||||||
if (command && command[0]) {
|
if (command && command[0]) {
|
||||||
StringCbPrintfW(openCommand, sizeof(openCommand), L"%s", command);
|
StringCbPrintfW(openCommand, sizeof(openCommand), L"%s", command);
|
||||||
|
@ -46,14 +45,14 @@ void Discord_RegisterW(const wchar_t* applicationId, const wchar_t* command)
|
||||||
}
|
}
|
||||||
DWORD len;
|
DWORD len;
|
||||||
LSTATUS result;
|
LSTATUS result;
|
||||||
len = lstrlenW(protocolDescription) + 1;
|
len = (DWORD)lstrlenW(protocolDescription) + 1;
|
||||||
result =
|
result =
|
||||||
RegSetKeyValueW(key, nullptr, nullptr, REG_SZ, protocolDescription, len * sizeof(wchar_t));
|
RegSetKeyValueW(key, nullptr, nullptr, REG_SZ, protocolDescription, len * sizeof(wchar_t));
|
||||||
if (FAILED(result)) {
|
if (FAILED(result)) {
|
||||||
fprintf(stderr, "Error writing description\n");
|
fprintf(stderr, "Error writing description\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
len = lstrlenW(protocolDescription) + 1;
|
len = (DWORD)lstrlenW(protocolDescription) + 1;
|
||||||
result = RegSetKeyValueW(key, nullptr, L"URL Protocol", REG_SZ, &urlProtocol, sizeof(wchar_t));
|
result = RegSetKeyValueW(key, nullptr, L"URL Protocol", REG_SZ, &urlProtocol, sizeof(wchar_t));
|
||||||
if (FAILED(result)) {
|
if (FAILED(result)) {
|
||||||
fprintf(stderr, "Error writing description\n");
|
fprintf(stderr, "Error writing description\n");
|
||||||
|
@ -65,7 +64,7 @@ void Discord_RegisterW(const wchar_t* applicationId, const wchar_t* command)
|
||||||
fprintf(stderr, "Error writing icon\n");
|
fprintf(stderr, "Error writing icon\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
len = lstrlenW(openCommand) + 1;
|
len = (DWORD)lstrlenW(openCommand) + 1;
|
||||||
result = RegSetKeyValueW(
|
result = RegSetKeyValueW(
|
||||||
key, L"shell\\open\\command", nullptr, REG_SZ, openCommand, len * sizeof(wchar_t));
|
key, L"shell\\open\\command", nullptr, REG_SZ, openCommand, len * sizeof(wchar_t));
|
||||||
if (FAILED(result)) {
|
if (FAILED(result)) {
|
||||||
|
|
|
@ -129,6 +129,7 @@ bool RpcConnection::Read(JsonDocument& message)
|
||||||
break;
|
break;
|
||||||
case Opcode::Pong:
|
case Opcode::Pong:
|
||||||
break;
|
break;
|
||||||
|
case Opcode::Handshake:
|
||||||
default:
|
default:
|
||||||
// something bad happened
|
// something bad happened
|
||||||
lastErrorCode = (int)ErrorCode::ReadCorrupt;
|
lastErrorCode = (int)ErrorCode::ReadCorrupt;
|
||||||
|
|
|
@ -2,10 +2,20 @@
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#pragma warning(push)
|
||||||
|
|
||||||
|
#pragma warning(disable : 4061) // enum is not explicitly handled by a case label
|
||||||
|
#pragma warning(disable : 4365) // signed/unsigned mismatch
|
||||||
|
#pragma warning(disable : 4464) // relative include path contains
|
||||||
|
#pragma warning(disable : 4668) // is not defined as a preprocessor macro
|
||||||
|
#pragma warning(disable : 6313) // Incorrect operator
|
||||||
|
|
||||||
#include "rapidjson/document.h"
|
#include "rapidjson/document.h"
|
||||||
#include "rapidjson/writer.h"
|
#include "rapidjson/writer.h"
|
||||||
#include "rapidjson/stringbuffer.h"
|
#include "rapidjson/stringbuffer.h"
|
||||||
|
|
||||||
|
#pragma warning(pop)
|
||||||
|
|
||||||
// if only there was a standard library function for this
|
// if only there was a standard library function for this
|
||||||
template <size_t Len>
|
template <size_t Len>
|
||||||
inline size_t StringCopy(char (&dest)[Len], const char* src)
|
inline size_t StringCopy(char (&dest)[Len], const char* src)
|
||||||
|
@ -111,7 +121,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void Flush() {}
|
void Flush() {}
|
||||||
size_t GetSize() const { return current_ - buffer_; }
|
size_t GetSize() const { return (size_t)(current_ - buffer_); }
|
||||||
};
|
};
|
||||||
|
|
||||||
using MallocAllocator = rapidjson::CrtAllocator;
|
using MallocAllocator = rapidjson::CrtAllocator;
|
||||||
|
|
Loading…
Reference in a new issue