Skip to content

Commit

Permalink
Fix XRPLF#284
Browse files Browse the repository at this point in the history
Summary: This work on my compiler, but it turns out some compilers don't implicitly add constness, see: facebook/rocksdb#284. This diff adds constness explicitly.

Test Plan: still compiles

Reviewers: sdong

Reviewed By: sdong

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D23409
  • Loading branch information
igorcanadi committed Sep 16, 2014
1 parent 49aacd8 commit faad439
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions table/full_filter_block.cc
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ inline void FullFilterBlockBuilder::AddPrefix(const Slice& key) {
Slice FullFilterBlockBuilder::Finish() {
if (num_added_ != 0) {
num_added_ = 0;
return filter_bits_builder_->Finish(&filter_data);
return filter_bits_builder_->Finish(&filter_data_);
}
return Slice();
}
Expand All @@ -64,7 +64,7 @@ FullFilterBlockReader::FullFilterBlockReader(
filter_bits_reader_.reset(filter_bits_reader);

if (delete_contents_after_use) {
filter_data.reset(contents.data());
filter_data_.reset(contents.data());
}
}

Expand Down
4 changes: 2 additions & 2 deletions table/full_filter_block.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class FullFilterBlockBuilder : public FilterBlockBuilder {

uint32_t num_added_;
std::unique_ptr<FilterBitsBuilder> filter_bits_builder_;
std::unique_ptr<const char[]> filter_data;
std::unique_ptr<const char[]> filter_data_;

void AddKey(const Slice& key);
void AddPrefix(const Slice& key);
Expand Down Expand Up @@ -95,7 +95,7 @@ class FullFilterBlockReader : public FilterBlockReader {

std::unique_ptr<FilterBitsReader> filter_bits_reader_;
Slice contents_;
std::unique_ptr<const char[]> filter_data;
std::unique_ptr<const char[]> filter_data_;

bool MayMatch(const Slice& entry);

Expand Down
6 changes: 3 additions & 3 deletions util/bloom.cc
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,8 @@ class FullFilterBitsBuilder : public FilterBitsBuilder {
// | ... | num_probes : 1 byte | num_lines : 4 bytes |
// +----------------------------------------------------------------+
virtual Slice Finish(std::unique_ptr<const char[]>* buf) override {
char* data = nullptr;
uint32_t total_bits, num_lines;
data = ReserveSpace(hash_entries_.size(), &total_bits, &num_lines);
char* data = ReserveSpace(hash_entries_.size(), &total_bits, &num_lines);
assert(data);

if (total_bits != 0 && num_lines != 0) {
Expand All @@ -67,7 +66,8 @@ class FullFilterBitsBuilder : public FilterBitsBuilder {
data[total_bits/8] = static_cast<char>(num_probes_);
EncodeFixed32(data + total_bits/8 + 1, static_cast<uint32_t>(num_lines));

buf->reset(data);
const char* const_data = data;
buf->reset(const_data);
hash_entries_.clear();

return Slice(data, total_bits / 8 + 5);
Expand Down

0 comments on commit faad439

Please sign in to comment.