/* * Copyright (C) 1996-2023 The Squid Software Foundation and contributors * * Squid software is distributed under GPLv2+ license and includes * contributions from numerous individuals and organizations. * Please see the COPYING and CONTRIBUTORS files for details. */ #include "squid.h" #include "base/IoManip.h" #include "debug/Stream.h" #include void PrintHex(std::ostream &os, const char * const data, const size_t n) { if (!n) return; assert(data); const auto savedFill = os.fill('0'); const auto savedFlags = os.flags(); // std::ios_base::fmtflags os << std::hex; std::for_each(data, data + n, [&os](const char &c) { os << std::setw(2) << static_cast(c); }); os.flags(savedFlags); os.fill(savedFill); }