]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
feat: Pretty-print entry type in --dump-{manifest,result}
authorJoel Rosdahl <joel@rosdahl.net>
Tue, 9 Nov 2021 18:20:07 +0000 (19:20 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Tue, 9 Nov 2021 18:20:07 +0000 (19:20 +0100)
src/core/CMakeLists.txt
src/core/CacheEntryHeader.cpp
src/core/types.cpp [new file with mode: 0644]
src/core/types.hpp

index 060881203ec342087e4eacd6a8a84878b8dde560..b3779bd3755cbdbf17b6141d90ca2cf83b85ce9e 100644 (file)
@@ -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})
index 64e085736560861d8bb3270f5acc8fe2f1c710dc..499ffc29553d4ed5382d75d0f3177b0f4f00ec5e 100644 (file)
@@ -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 (file)
index 0000000..6529a2f
--- /dev/null
@@ -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
index 4ee52fa398db9418c859b861a0b503f865d001be..f993e25696c372f90b3ef9046a61532774d8f464 100644 (file)
 #pragma once
 
 #include <cstdint>
+#include <string>
 
 namespace core {
 
 enum class CacheEntryType : uint8_t { result = 0, manifest = 1 };
 
+std::string to_string(CacheEntryType type);
+
 } // namespace core