Index: src/core/SkMD5.h |
diff --git a/src/core/SkMD5.h b/src/core/SkMD5.h |
index ed557931c242cdb888eefdd57439e0727de26636..a6d9b9f3ebb91ea864ff5e6ab4d356cec2e48ba5 100644 |
--- a/src/core/SkMD5.h |
+++ b/src/core/SkMD5.h |
@@ -8,54 +8,37 @@ |
#ifndef SkMD5_DEFINED |
#define SkMD5_DEFINED |
-#include "SkTypes.h" |
-#include "SkEndian.h" |
#include "SkStream.h" |
-//The following macros can be defined to affect the MD5 code generated. |
-//SK_MD5_CLEAR_DATA causes all intermediate state to be overwritten with 0's. |
-//SK_CPU_LENDIAN allows 32 bit <=> 8 bit conversions without copies (if alligned). |
-//SK_CPU_FAST_UNALIGNED_ACCESS allows 32 bit <=> 8 bit conversions without copies if SK_CPU_LENDIAN. |
- |
+/* Calculate a 128-bit MD5 message-digest of the bytes sent to this stream. */ |
class SkMD5 : public SkWStream { |
public: |
SkMD5(); |
/** Processes input, adding it to the digest. |
- * Note that this treats the buffer as a series of uint8_t values. |
- */ |
- bool write(const void* buffer, size_t size) override { |
- this->update(reinterpret_cast<const uint8_t*>(buffer), size); |
- return true; |
- } |
+ Calling this after finish is undefined. */ |
+ bool write(const void* buffer, size_t size) final; |
- size_t bytesWritten() const override { return SkToSizeT(this->byteCount); } |
+ size_t bytesWritten() const final { return SkToSizeT(this->byteCount); } |
- /** Processes input, adding it to the digest. Calling this after finish is undefined. */ |
- void update(const uint8_t* input, size_t length); |
+ /** Alias for write() */ |
+ void update(const uint8_t* b, size_t l) { (void)this->write(b, l); } |
struct Digest { |
uint8_t data[16]; |
bool operator ==(Digest const& other) const { |
return 0 == memcmp(data, other.data, sizeof(data)); |
} |
- bool operator !=(Digest const& other) const { |
- return 0 != memcmp(data, other.data, sizeof(data)); |
- } |
+ bool operator !=(Digest const& other) const { return !(*this == other); } |
}; |
/** Computes and returns the digest. */ |
void finish(Digest& digest); |
private: |
- // number of bytes, modulo 2^64 |
- uint64_t byteCount; |
- |
- // state (ABCD) |
- uint32_t state[4]; |
- |
- // input buffer |
- uint8_t buffer[64]; |
+ uint64_t byteCount; // number of bytes, modulo 2^64 |
+ uint32_t state[4]; // state (ABCD) |
+ uint8_t buffer[64]; // input buffer |
}; |
#endif |