From 4da64d2d42678a2d3443b6ead725589486057a10 Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Wed, 12 Feb 2025 13:21:30 +0100 Subject: [PATCH] Silence warnings and fix bugs --- .../IO/Archive/ArchiveConfiguration.cpp | 4 ++-- .../IO/Archive/ArchiveConfiguration.hpp | 2 +- openVulkanoCpp/IO/Archive/ArchiveReader.cpp | 2 +- openVulkanoCpp/IO/Archive/ZipWriter.cpp | 19 ++++++++++--------- openVulkanoCpp/IO/FileDescription.hpp | 11 +++++++++++ openVulkanoCpp/IO/PlatformFolders.cpp | 2 +- openVulkanoCpp/Scene/Text/FontAtlas.hpp | 3 ++- 7 files changed, 28 insertions(+), 15 deletions(-) diff --git a/openVulkanoCpp/IO/Archive/ArchiveConfiguration.cpp b/openVulkanoCpp/IO/Archive/ArchiveConfiguration.cpp index 6692df0..9503b29 100644 --- a/openVulkanoCpp/IO/Archive/ArchiveConfiguration.cpp +++ b/openVulkanoCpp/IO/Archive/ArchiveConfiguration.cpp @@ -35,9 +35,9 @@ namespace OpenVulkano return std::string(tName); } - ArchiveConfiguration ArchiveConfiguration::FromFileName(std::filesystem::path fileName) + ArchiveConfiguration ArchiveConfiguration::FromFileName(const std::filesystem::path& fileName) { - std::string_view fName = fileName.string(); + std::string fName = fileName.filename().string(); ArchiveConfiguration ac; if (auto type = ArchiveType::FromExtension(fName)) { diff --git a/openVulkanoCpp/IO/Archive/ArchiveConfiguration.hpp b/openVulkanoCpp/IO/Archive/ArchiveConfiguration.hpp index 2ea5abd..5040c24 100644 --- a/openVulkanoCpp/IO/Archive/ArchiveConfiguration.hpp +++ b/openVulkanoCpp/IO/Archive/ArchiveConfiguration.hpp @@ -27,7 +27,7 @@ namespace OpenVulkano : type(archiveType), compression(compressionType), compressionLevel(level) {} - [[nodiscard]] static ArchiveConfiguration FromFileName(std::filesystem::path fileName); + [[nodiscard]] static ArchiveConfiguration FromFileName(const std::filesystem::path& fileName); [[nodiscard]] std::string GetFileExtension() const; diff --git a/openVulkanoCpp/IO/Archive/ArchiveReader.cpp b/openVulkanoCpp/IO/Archive/ArchiveReader.cpp index 956f801..a6c12c1 100644 --- a/openVulkanoCpp/IO/Archive/ArchiveReader.cpp +++ b/openVulkanoCpp/IO/Archive/ArchiveReader.cpp @@ -115,7 +115,7 @@ namespace OpenVulkano bool ArchiveReader::Open(const std::vector& archiveFiles) { if (archiveFiles.empty()) return false; - const ArchiveConfiguration ac = ArchiveConfiguration::FromFileName(archiveFiles.front().c_str()); + const ArchiveConfiguration ac = ArchiveConfiguration::FromFileName(archiveFiles.front().c_str()); //TODO if (ac.type == ArchiveType::TAR) // TODO handle all archive types correctly { // Queue based approach for all archive types that do not natively support split archives for(const std::string& file : archiveFiles) diff --git a/openVulkanoCpp/IO/Archive/ZipWriter.cpp b/openVulkanoCpp/IO/Archive/ZipWriter.cpp index b4b8a4f..6f5f3af 100644 --- a/openVulkanoCpp/IO/Archive/ZipWriter.cpp +++ b/openVulkanoCpp/IO/Archive/ZipWriter.cpp @@ -11,15 +11,15 @@ */ #include "ZipWriter.hpp" -#include "Base/Utils.hpp" #include "IO/MemMappedFile.hpp" #include "Math/CRC32.hpp" - #include #include namespace { +#pragma clang diagnostic push +#pragma ide diagnostic ignored "OCUnusedGlobalDeclarationInspection" #pragma pack(push, 1) struct LocalFileHeader { @@ -38,7 +38,7 @@ namespace // Extra Field[m] }; - struct CentalDirectoryFileHeader + struct CentralDirectoryFileHeader { uint32_t signature = 0x02014b50; uint16_t versionMadeBy = 31; // Version made by @@ -100,9 +100,10 @@ namespace // Comment[n] }; #pragma pack(pop) +#pragma clang diagnostic pop static_assert(sizeof(LocalFileHeader) == 30, "Well packed struct"); - static_assert(sizeof(CentalDirectoryFileHeader) == 46, "Well packed struct"); + static_assert(sizeof(CentralDirectoryFileHeader) == 46, "Well packed struct"); static_assert(sizeof(EndOfCentralDirectoryHeader) == 22, "Well packed struct"); static_assert(sizeof(NtfsExtraField) == 36, "Well packed struct"); @@ -119,7 +120,7 @@ namespace return Cat(dest, sizeof(T), reinterpret_cast(thing)); } - uint32_t Cat(std::vector& dest, const std::vector& thing) + [[maybe_unused]] uint32_t Cat(std::vector& dest, const std::vector& thing) { return Cat(dest, thing.size(), thing.data()); } @@ -156,14 +157,14 @@ namespace namespace OpenVulkano { - ZipWriter::ZipWriter(const std::filesystem::path& filePath, bool alignHeadersby64) + ZipWriter::ZipWriter(const std::filesystem::path& filePath, bool alignHeadersBy64) { m_file = fopen(filePath.string().c_str(), "wb"); if (!m_file) { throw std::runtime_error("Unable to open file for writing: " + filePath.string()); } - m_pad = alignHeadersby64; + m_pad = alignHeadersBy64; } void ZipWriter::AddFile(const FileDescription& description, const void* buffer) @@ -209,7 +210,7 @@ namespace OpenVulkano fwrite(buffer, fileSize, 1, m_file); - CentalDirectoryFileHeader cdfh; + CentralDirectoryFileHeader cdfh; cdfh.fileLastModTime = dosTime; cdfh.fileLastModDate = dosDate; cdfh.crc32 = crc32; @@ -231,7 +232,7 @@ namespace OpenVulkano void ZipWriter::AddFile(const std::filesystem::path& fileName, const char* inArchiveName) { MemMappedFile file = MemMappedFile(fileName.string()); - auto desc = OpenVulkano::FileDescription::MakeDescriptionForFile(inArchiveName, file.Size()); + auto desc = OpenVulkano::FileDescription::MkFile(inArchiveName, file.Size()); AddFile(desc, file.Data()); } diff --git a/openVulkanoCpp/IO/FileDescription.hpp b/openVulkanoCpp/IO/FileDescription.hpp index b16ccec..c2c5181 100644 --- a/openVulkanoCpp/IO/FileDescription.hpp +++ b/openVulkanoCpp/IO/FileDescription.hpp @@ -46,6 +46,17 @@ namespace OpenVulkano }; } + static FileDescription MkFile(const std::filesystem::path& path, const size_t size) + { + return { + std::filesystem::file_type::regular, + path.string(), + size, + std::filesystem::perms::owner_write | ALL_READ, + std::time(nullptr), std::time(nullptr) + }; + } + static FileDescription MkDir(const char* path) { FileDescription desc = MkFile(path, 0); diff --git a/openVulkanoCpp/IO/PlatformFolders.cpp b/openVulkanoCpp/IO/PlatformFolders.cpp index 84bf797..a562382 100644 --- a/openVulkanoCpp/IO/PlatformFolders.cpp +++ b/openVulkanoCpp/IO/PlatformFolders.cpp @@ -55,7 +55,7 @@ namespace OpenVulkano [[nodiscard]] std::filesystem::path GetXDGFolderDefault(const char* envName, std::string_view defaultRelativePath) { -#ifndef TARGET_OS_IOS != 1 +#if TARGET_OS_IOS != 1 if (const char* envValue = std::getenv(envName)) { if (envValue[0] == '/') return envValue; diff --git a/openVulkanoCpp/Scene/Text/FontAtlas.hpp b/openVulkanoCpp/Scene/Text/FontAtlas.hpp index 5703512..e600c42 100644 --- a/openVulkanoCpp/Scene/Text/FontAtlas.hpp +++ b/openVulkanoCpp/Scene/Text/FontAtlas.hpp @@ -15,8 +15,9 @@ namespace OpenVulkano::Scene { - struct GlyphInfo + class GlyphInfo { + public: //GlyphGeometry geometry; //GlyphBox glyphBox; Math::Vector2f_SIMD pos[4] = {};