aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/leveldb/slice.h3
-rw-r--r--util/hash.cc2
2 files changed, 4 insertions, 1 deletions
diff --git a/include/leveldb/slice.h b/include/leveldb/slice.h
index 37cb821..e97223a 100644
--- a/include/leveldb/slice.h
+++ b/include/leveldb/slice.h
@@ -51,6 +51,9 @@ class LEVELDB_EXPORT Slice {
// Return true iff the length of the referenced data is zero
bool empty() const { return size_ == 0; }
+ const char* begin() const { return data(); }
+ const char* end() const { return data() + size(); }
+
// Return the ith byte in the referenced data.
// REQUIRES: n < size()
char operator[](size_t n) const {
diff --git a/util/hash.cc b/util/hash.cc
index 8122fa8..fa252c7 100644
--- a/util/hash.cc
+++ b/util/hash.cc
@@ -27,7 +27,7 @@ uint32_t Hash(const char* data, size_t n, uint32_t seed) {
uint32_t h = seed ^ (n * m);
// Pick up four bytes at a time
- while (data + 4 <= limit) {
+ while (limit - data >= 4) {
uint32_t w = DecodeFixed32(data);
data += 4;
h += w;