From: Joel Rosdahl Date: Tue, 9 Nov 2021 18:20:07 +0000 (+0100) Subject: feat: Pretty-print entry type in --dump-{manifest,result} X-Git-Tag: v4.5~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a88ba31b66c69f54bfb188853c685b0255b8881;p=thirdparty%2Fccache.git feat: Pretty-print entry type in --dump-{manifest,result} --- diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 060881203..b3779bd37 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -7,6 +7,7 @@ set( ${CMAKE_CURRENT_SOURCE_DIR}/StatisticsCounters.cpp ${CMAKE_CURRENT_SOURCE_DIR}/StatsLog.cpp ${CMAKE_CURRENT_SOURCE_DIR}/mainoptions.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/types.cpp ) target_sources(ccache_framework PRIVATE ${sources}) diff --git a/src/core/CacheEntryHeader.cpp b/src/core/CacheEntryHeader.cpp index 64e085736..499ffc295 100644 --- a/src/core/CacheEntryHeader.cpp +++ b/src/core/CacheEntryHeader.cpp @@ -74,7 +74,7 @@ CacheEntryHeader::dump(FILE* const stream) const { PRINT(stream, "Magic: {:04x}\n", magic); PRINT(stream, "Entry format version: {}\n", entry_format_version); - PRINT(stream, "Entry type: {}\n", entry_type); + PRINT(stream, "Entry type: {} ({})\n", entry_type, to_string(entry_type)); PRINT(stream, "Compression type: {}\n", compression::type_to_string(compression_type)); diff --git a/src/core/types.cpp b/src/core/types.cpp new file mode 100644 index 000000000..6529a2f77 --- /dev/null +++ b/src/core/types.cpp @@ -0,0 +1,38 @@ +// Copyright (C) 2021 Joel Rosdahl and other contributors +// +// See doc/AUTHORS.adoc for a complete list of contributors. +// +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 3 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along with +// this program; if not, write to the Free Software Foundation, Inc., 51 +// Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +#include "types.hpp" + +namespace core { + +std::string +to_string(const CacheEntryType type) +{ + switch (type) { + case CacheEntryType::manifest: + return "manifest"; + + case CacheEntryType::result: + return "result"; + + default: + return "unknown"; + } +} + +} // namespace core diff --git a/src/core/types.hpp b/src/core/types.hpp index 4ee52fa39..f993e2569 100644 --- a/src/core/types.hpp +++ b/src/core/types.hpp @@ -19,9 +19,12 @@ #pragma once #include +#include namespace core { enum class CacheEntryType : uint8_t { result = 0, manifest = 1 }; +std::string to_string(CacheEntryType type); + } // namespace core