diff --git a/lib/external/libwolv b/lib/external/libwolv index ba8fb9c84..5b9d75e39 160000 --- a/lib/external/libwolv +++ b/lib/external/libwolv @@ -1 +1 @@ -Subproject commit ba8fb9c842b218fdf747df64940e4467421fcc17 +Subproject commit 5b9d75e39afd7870573f7bdee992bedfe1ab8338 diff --git a/lib/external/pattern_language b/lib/external/pattern_language index 506b867e5..3095ad4f6 160000 --- a/lib/external/pattern_language +++ b/lib/external/pattern_language @@ -1 +1 @@ -Subproject commit 506b867e512f1cbf5ab21f92a7250e2c20b52f94 +Subproject commit 3095ad4f6106aad1e0a72cd4b1fd616a41a0c8f1 diff --git a/plugins/builtin/source/content/data_inspector.cpp b/plugins/builtin/source/content/data_inspector.cpp index c3b6667c6..fe4db7e2e 100644 --- a/plugins/builtin/source/content/data_inspector.cpp +++ b/plugins/builtin/source/content/data_inspector.cpp @@ -368,8 +368,11 @@ namespace hex::plugin::builtin { }, [](const std::string &value, std::endian endian) -> std::vector { std::vector bytes; - auto wideString = wolv::util::utf8ToWstring(value.c_str(), "Invalid"); - std::copy(wideString.begin(), wideString.end(), std::back_inserter(bytes)); + auto wideString = wolv::util::utf8ToWstring(value.c_str(), ""); + if (wideString.empty()) return bytes; + + bytes.resize(wideString.size() * sizeof(wchar_t)); + std::memcpy(bytes.data(), wideString.data(), bytes.size()); if (endian != std::endian::native) std::reverse(bytes.begin(), bytes.end()); diff --git a/plugins/builtin/source/content/data_processor_nodes/visual_nodes.cpp b/plugins/builtin/source/content/data_processor_nodes/visual_nodes.cpp index 2faf74a97..e7628badc 100644 --- a/plugins/builtin/source/content/data_processor_nodes/visual_nodes.cpp +++ b/plugins/builtin/source/content/data_processor_nodes/visual_nodes.cpp @@ -56,7 +56,7 @@ namespace hex::plugin::builtin { } private: - std::optional m_value; + std::optional m_value; }; class NodeDisplayBuffer : public dp::Node { diff --git a/plugins/builtin/source/content/views/view_pattern_editor.cpp b/plugins/builtin/source/content/views/view_pattern_editor.cpp index 56b5b6626..2222369a6 100644 --- a/plugins/builtin/source/content/views/view_pattern_editor.cpp +++ b/plugins/builtin/source/content/views/view_pattern_editor.cpp @@ -1493,7 +1493,7 @@ namespace hex::plugin::builtin { if (m_lastEvaluationError->has_value()) message = processMessage((*m_lastEvaluationError)->message); auto key = TextEditor::Coordinates(location.line, location.column); - errorMarkers[key] = std::make_pair(location.length, message); + errorMarkers[key] = std::make_pair(u32(location.length), message); } } } else { diff --git a/plugins/disassembler/source/content/disassemblers/capstone_architectures.cpp b/plugins/disassembler/source/content/disassemblers/capstone_architectures.cpp index dc90624ec..5a9a70bc1 100644 --- a/plugins/disassembler/source/content/disassemblers/capstone_architectures.cpp +++ b/plugins/disassembler/source/content/disassemblers/capstone_architectures.cpp @@ -19,7 +19,7 @@ namespace hex::plugin::disasm { m_instruction = nullptr; auto mode = m_mode; - if (m_endian == true) { + if (bool(m_endian)) { mode = cs_mode(u32(mode) | CS_MODE_LITTLE_ENDIAN); } else { mode = cs_mode(u32(mode) | CS_MODE_BIG_ENDIAN); diff --git a/plugins/yara_rules/source/content/yara_rule.cpp b/plugins/yara_rules/source/content/yara_rule.cpp index bcabffd91..adeae2b86 100644 --- a/plugins/yara_rules/source/content/yara_rule.cpp +++ b/plugins/yara_rules/source/content/yara_rule.cpp @@ -6,10 +6,16 @@ #include // 's RE type has a zero-sized array, which is not allowed in ISO C++. -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#include -#pragma GCC diagnostic pop +#if !defined(_MSC_VER) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wpedantic" +#endif + + #include + +#if !defined(_MSC_VER) + #pragma GCC diagnostic pop +#endif namespace hex::plugin::yara {