From c04a04189ad9902e95d6dce5c6bb712cc8342f56 Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 13 Nov 2014 19:26:33 -0500 Subject: [PATCH] FileSys: Added DebugStr method to Path class. --- src/core/file_sys/archive.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/core/file_sys/archive.h b/src/core/file_sys/archive.h index 38145eed8..7b3130f16 100644 --- a/src/core/file_sys/archive.h +++ b/src/core/file_sys/archive.h @@ -74,6 +74,35 @@ public: return type; } + /** + * Gets the string representation of the path for debugging + * @return String representation of the path for debugging + */ + const std::string DebugStr() const { + switch (GetType()) { + case Invalid: + return "[Invalid]"; + case Empty: + return "[Empty]"; + case Binary: + { + std::stringstream res; + res << "[Binary: "; + for (unsigned byte : binary) + res << std::hex << std::setw(2) << std::setfill('0') << byte; + res << ']'; + return res.str(); + } + case Char: + return "[Char: " + AsString() + ']'; + case Wchar: + return "[Wchar: " + AsString() + ']'; + default: + ERROR_LOG(KERNEL, "LowPathType cannot be converted to string!"); + return {}; + } + } + const std::string AsString() const { switch (GetType()) { case Char: