From 60d0ff6c72ad0435de916b049dca767335651ac2 Mon Sep 17 00:00:00 2001 From: m-holger Date: Mon, 7 Jul 2025 14:38:33 +0100 Subject: [PATCH] Refactor `MD5` to add `std::string_view` support in `encodeDataIncrementally`, inline previously separate method, and streamline data encoding logic. --- libqpdf/MD5.cc | 6 ------ libqpdf/qpdf/MD5.hh | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/libqpdf/MD5.cc b/libqpdf/MD5.cc index 694289e..d46df63 100644 --- a/libqpdf/MD5.cc +++ b/libqpdf/MD5.cc @@ -46,12 +46,6 @@ MD5::appendString(char const* input_string) } void -MD5::encodeDataIncrementally(char const* data, size_t len) -{ - crypto->MD5_update(QUtil::unsigned_char_pointer(data), len); -} - -void MD5::encodeFile(char const* filename, qpdf_offset_t up_to_offset) { char buffer[1024]; diff --git a/libqpdf/qpdf/MD5.hh b/libqpdf/qpdf/MD5.hh index be97edb..12867b5 100644 --- a/libqpdf/qpdf/MD5.hh +++ b/libqpdf/qpdf/MD5.hh @@ -24,7 +24,20 @@ class MD5 void appendString(char const* input_string); // appends arbitrary data to current md5 object - void encodeDataIncrementally(char const* input_data, size_t len); + void + encodeDataIncrementally(char const* input_data, size_t len) + { + crypto->MD5_update(reinterpret_cast(const_cast(input_data)), len); + } + + // appends arbitrary data to current md5 object + void + encodeDataIncrementally(std::string_view input_data) + { + crypto->MD5_update( + reinterpret_cast(const_cast(input_data.data())), + input_data.size()); + } // computes a raw digest void digest(Digest); -- libgit2 0.21.4