[C++11] Replace OwningPtr::take() with OwningPtr::release().
[oota-llvm.git] / lib / Support / MD5.cpp
index 4c72cef60b0cc8c8b40532a4c24d081a3993ba97..514466c750fcc911947581de151cbe14c127c53f 100644 (file)
@@ -183,7 +183,7 @@ MD5::MD5()
     : a(0x67452301), b(0xefcdab89), c(0x98badcfe), d(0x10325476), hi(0), lo(0) {
 }
 
-/// Incrementally add the bytes in Data to the hash.
+/// Incrementally add the bytes in \p Data to the hash.
 void MD5::update(ArrayRef<uint8_t> Data) {
   MD5_u32plus saved_lo;
   unsigned long used, free;
@@ -219,6 +219,14 @@ void MD5::update(ArrayRef<uint8_t> Data) {
   memcpy(buffer, Ptr, Size);
 }
 
+/// Add the bytes in the StringRef \p Str to the hash.
+// Note that this isn't a string and so this won't include any trailing NULL
+// bytes.
+void MD5::update(StringRef Str) {
+  ArrayRef<uint8_t> SVal((const uint8_t *)Str.data(), Str.size());
+  update(SVal);
+}
+
 /// \brief Finish the hash and place the resulting hash into \p result.
 /// \param result is assumed to be a minimum of 16-bytes in size.
 void MD5::final(MD5Result &result) {