Hash.h: use native uint256.begin() and uint256.size() 322/head
authorsvost <ya.nowa@yandex.ru>
Tue, 19 Apr 2016 07:40:40 +0000 (10:40 +0300)
committersvost <ya.nowa@yandex.ru>
Tue, 19 Apr 2016 07:40:40 +0000 (10:40 +0300)
src/hash.h

index 2f4d7da..cdd9dbb 100644 (file)
@@ -20,9 +20,9 @@ inline uint256 Hash(const T1 pbegin, const T1 pend)
 {
     static unsigned char pblank[1];
     uint256 hash1;
-    SHA256((pbegin == pend ? pblank : (unsigned char*)&pbegin[0]), (pend - pbegin) * sizeof(pbegin[0]), (unsigned char*)&hash1);
+    SHA256((pbegin == pend ? pblank : (unsigned char*)&pbegin[0]), (pend - pbegin) * sizeof(pbegin[0]), hash1.begin());
     uint256 hash2;
-    SHA256((unsigned char*)&hash1, sizeof(hash1), (unsigned char*)&hash2);
+    SHA256(hash1.begin(), hash1.size(), hash2.begin());
     return hash2;
 }
 
@@ -51,9 +51,9 @@ public:
     // invalidates the object
     uint256 GetHash() {
         uint256 hash1;
-        SHA256_Final((unsigned char*)&hash1, &ctx);
+        SHA256_Final(hash1.begin(), &ctx);
         uint256 hash2;
-        SHA256((unsigned char*)&hash1, sizeof(hash1), (unsigned char*)&hash2);
+        SHA256(hash1.begin(), hash1.size(), hash2.begin());
         return hash2;
     }
 
@@ -76,9 +76,9 @@ inline uint256 Hash(const T1 p1begin, const T1 p1end,
     SHA256_Init(&ctx);
     SHA256_Update(&ctx, (p1begin == p1end ? pblank : (unsigned char*)&p1begin[0]), (p1end - p1begin) * sizeof(p1begin[0]));
     SHA256_Update(&ctx, (p2begin == p2end ? pblank : (unsigned char*)&p2begin[0]), (p2end - p2begin) * sizeof(p2begin[0]));
-    SHA256_Final((unsigned char*)&hash1, &ctx);
+    SHA256_Final(hash1.begin(), &ctx);
     uint256 hash2;
-    SHA256((unsigned char*)&hash1, sizeof(hash1), (unsigned char*)&hash2);
+    SHA256(hash1.begin(), hash1.size(), hash2.begin());
     return hash2;
 }
 
@@ -94,9 +94,9 @@ inline uint256 Hash(const T1 p1begin, const T1 p1end,
     SHA256_Update(&ctx, (p1begin == p1end ? pblank : (unsigned char*)&p1begin[0]), (p1end - p1begin) * sizeof(p1begin[0]));
     SHA256_Update(&ctx, (p2begin == p2end ? pblank : (unsigned char*)&p2begin[0]), (p2end - p2begin) * sizeof(p2begin[0]));
     SHA256_Update(&ctx, (p3begin == p3end ? pblank : (unsigned char*)&p3begin[0]), (p3end - p3begin) * sizeof(p3begin[0]));
-    SHA256_Final((unsigned char*)&hash1, &ctx);
+    SHA256_Final(hash1.begin(), &ctx);
     uint256 hash2;
-    SHA256((unsigned char*)&hash1, sizeof(hash1), (unsigned char*)&hash2);
+    SHA256(hash1.begin(), hash1.size(), hash2.begin());
     return hash2;
 }
 
@@ -113,9 +113,9 @@ inline uint160 Hash160(const T1 pbegin, const T1 pend)
 {
     static unsigned char pblank[1];
     uint256 hash1;
-    SHA256((pbegin == pend ? pblank : (unsigned char*)&pbegin[0]), (pend - pbegin) * sizeof(pbegin[0]), (unsigned char*)&hash1);
+    SHA256((pbegin == pend ? pblank : (unsigned char*)&pbegin[0]), (pend - pbegin) * sizeof(pbegin[0]), hash1.begin());
     uint160 hash2;
-    RIPEMD160((unsigned char*)&hash1, sizeof(hash1), (unsigned char*)&hash2);
+    RIPEMD160(hash1.begin(), hash1.size(), hash2.begin());
     return hash2;
 }