Commit 60d0ff6c72ad0435de916b049dca767335651ac2

Authored by m-holger
1 parent 20c2f021

Refactor `MD5` to add `std::string_view` support in `encodeDataIncrementally`, i…

…nline previously separate method, and streamline data encoding logic.
libqpdf/MD5.cc
@@ -46,12 +46,6 @@ MD5::appendString(char const* input_string) @@ -46,12 +46,6 @@ MD5::appendString(char const* input_string)
46 } 46 }
47 47
48 void 48 void
49 -MD5::encodeDataIncrementally(char const* data, size_t len)  
50 -{  
51 - crypto->MD5_update(QUtil::unsigned_char_pointer(data), len);  
52 -}  
53 -  
54 -void  
55 MD5::encodeFile(char const* filename, qpdf_offset_t up_to_offset) 49 MD5::encodeFile(char const* filename, qpdf_offset_t up_to_offset)
56 { 50 {
57 char buffer[1024]; 51 char buffer[1024];
libqpdf/qpdf/MD5.hh
@@ -24,7 +24,20 @@ class MD5 @@ -24,7 +24,20 @@ class MD5
24 void appendString(char const* input_string); 24 void appendString(char const* input_string);
25 25
26 // appends arbitrary data to current md5 object 26 // appends arbitrary data to current md5 object
27 - void encodeDataIncrementally(char const* input_data, size_t len); 27 + void
  28 + encodeDataIncrementally(char const* input_data, size_t len)
  29 + {
  30 + crypto->MD5_update(reinterpret_cast<unsigned char*>(const_cast<char*>(input_data)), len);
  31 + }
  32 +
  33 + // appends arbitrary data to current md5 object
  34 + void
  35 + encodeDataIncrementally(std::string_view input_data)
  36 + {
  37 + crypto->MD5_update(
  38 + reinterpret_cast<unsigned char*>(const_cast<char*>(input_data.data())),
  39 + input_data.size());
  40 + }
28 41
29 // computes a raw digest 42 // computes a raw digest
30 void digest(Digest); 43 void digest(Digest);