Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix cppcoreguidelines-narrowing-conversions warning reported by clang-tidy #1159

Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
245e299
Empty
MaximSmolskiy Dec 4, 2022
0084655
Fix src/stats/log_collector.cc
MaximSmolskiy Dec 4, 2022
01539d3
Fix clang-diagnostic-error
MaximSmolskiy Dec 4, 2022
9daa79f
Fix clang-diagnostic-error
MaximSmolskiy Dec 4, 2022
a2fe597
Fix src/common/io_util.cc
MaximSmolskiy Dec 4, 2022
60cc348
Fix src/common/string_util.cc
MaximSmolskiy Dec 4, 2022
0e3275e
Fix src/common/io_util.cc
MaximSmolskiy Dec 4, 2022
1f46891
Fix
MaximSmolskiy Dec 4, 2022
10461c6
Fix format
MaximSmolskiy Dec 4, 2022
187d5a1
Fix errors
MaximSmolskiy Dec 5, 2022
fec58b1
Fix
MaximSmolskiy Dec 5, 2022
1e4d846
Fix
MaximSmolskiy Dec 5, 2022
af2f01a
Fix
MaximSmolskiy Dec 5, 2022
6f63f41
Fix
MaximSmolskiy Dec 5, 2022
d7410bf
Fix src/storage/lock_manager.cc
MaximSmolskiy Dec 5, 2022
501be08
Fix src/main.cc
MaximSmolskiy Dec 5, 2022
a05a728
Fix src/config/config.cc
MaximSmolskiy Dec 5, 2022
54b7842
Fix src/server/redis_connection.cc
MaximSmolskiy Dec 5, 2022
82cb120
Fix src/server/redis_request.cc
MaximSmolskiy Dec 5, 2022
291e577
Fix src/server/worker.cc
MaximSmolskiy Dec 5, 2022
32aea24
Fix src/storage/storage.cc
MaximSmolskiy Dec 5, 2022
27ef7a2
Fix src/storage/storage.cc
MaximSmolskiy Dec 5, 2022
9818f10
Fix src/commands/redis_cmd.cc
MaximSmolskiy Dec 5, 2022
dbbc259
Fix src/server/server.cc
MaximSmolskiy Dec 5, 2022
d752b38
Fix src/storage/scripting.cc
MaximSmolskiy Dec 5, 2022
91f3286
Fix src/types/geohash.cc
MaximSmolskiy Dec 5, 2022
3127679
Fix src/types/redis_bitmap_string.cc
MaximSmolskiy Dec 5, 2022
3e7333c
Fix src/storage/scripting.cc
MaximSmolskiy Dec 5, 2022
e364ee4
Fix src/types/redis_geo.cc
MaximSmolskiy Dec 5, 2022
86f1a27
Fix errors
MaximSmolskiy Dec 5, 2022
931e179
Fix src/types/redis_bitmap_string.cc
MaximSmolskiy Dec 5, 2022
8fe94d5
Fix src/types/redis_bitmap.cc
MaximSmolskiy Dec 5, 2022
4b3293d
Fix src/types/redis_hash.cc
MaximSmolskiy Dec 5, 2022
2858cb1
Fix src/types/redis_list.cc
MaximSmolskiy Dec 5, 2022
38f7529
Fix src/types/redis_set.cc
MaximSmolskiy Dec 5, 2022
1c89644
Fix src/types/redis_sortedint.cc
MaximSmolskiy Dec 5, 2022
c034178
Fix src/types/redis_string.cc
MaximSmolskiy Dec 5, 2022
3370ba3
Fix src/types/redis_zset.cc
MaximSmolskiy Dec 5, 2022
dedf6c1
Add cppcoreguidelines-narrowing-conversions to WarningsAsErrors in .c…
MaximSmolskiy Dec 5, 2022
dcabf0d
Merge branch 'unstable' into fix-cppcoreguidelines-narrowing-conversi…
MaximSmolskiy Dec 6, 2022
a45b195
Merge branch 'unstable' into fix-cppcoreguidelines-narrowing-conversi…
MaximSmolskiy Dec 6, 2022
f01cf83
Merge branch 'unstable' into fix-cppcoreguidelines-narrowing-conversi…
MaximSmolskiy Dec 10, 2022
810ef4c
Change the camel case to the snake case
MaximSmolskiy Dec 10, 2022
8cdb044
Change port and tls_port types from int to uint32_t
MaximSmolskiy Dec 10, 2022
77758b6
Add templated IntegerField
MaximSmolskiy Dec 10, 2022
a5ec5f2
Specify types
MaximSmolskiy Dec 10, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# refer to https://clang.llvm.org/extra/clang-tidy/checks/list.html
Checks: -*, clang-analyzer-core.*, clang-analyzer-cplusplus.*, clang-analyzer-deadcode.*, clang-analyzer-nullability.*, clang-analyzer-security.*, clang-analyzer-unix.*, clang-analyzer-valist.*, cppcoreguidelines-init-variables, cppcoreguidelines-macro-usage, cppcoreguidelines-interfaces-global-init, cppcoreguidelines-narrowing-conversions, cppcoreguidelines-no-malloc, cppcoreguidelines-prefer-member-initializer, cppcoreguidelines-special-member-functions, cppcoreguidelines-slicing, google-build-explicit-make-pair, google-default-arguments, google-explicit-constructor, modernize-avoid-bind, modernize-loop-convert, modernize-macro-to-enum, modernize-make-shared, modernize-make-unique, modernize-pass-by-value, modernize-redundant-void-arg, modernize-return-braced-init-list, modernize-use-auto, modernize-use-bool-literals, modernize-use-emplace, modernize-use-equals-default, modernize-use-equals-delete, modernize-use-nullptr, modernize-use-override, modernize-use-using, performance-faster-string-find, performance-for-range-copy, performance-implicit-conversion-in-loop, performance-inefficient-algorithm, performance-inefficient-vector-operation, performance-move-const-arg, performance-move-constructor-init, performance-no-automatic-move, performance-trivially-destructible, performance-type-promotion-in-math-fn, performance-unnecessary-copy-initialization, performance-unnecessary-value-param

WarningsAsErrors: clang-analyzer-*, -clang-analyzer-security.insecureAPI.rand, cppcoreguidelines-interfaces-global-init, cppcoreguidelines-no-malloc, cppcoreguidelines-slicing, google-*, modernize-use-emplace, modernize-use-equals-default, modernize-use-equals-delete, performance-implicit-conversion-in-loop, performance-inefficient-algorithm, performance-move-constructor-init, performance-no-automatic-move, performance-trivially-destructible, performance-type-promotion-in-math-fn, performance-unnecessary-copy-initialization, modernize-use-bool-literals, performance-unnecessary-value-param, modernize-make-unique, performance-for-range-copy, performance-faster-string-find, modernize-redundant-void-arg, modernize-avoid-bind, modernize-use-auto, modernize-use-using, performance-inefficient-vector-operation, cppcoreguidelines-special-member-functions, modernize-loop-convert, cppcoreguidelines-init-variables, modernize-use-nullptr, cppcoreguidelines-macro-usage
WarningsAsErrors: clang-analyzer-*, -clang-analyzer-security.insecureAPI.rand, cppcoreguidelines-interfaces-global-init, cppcoreguidelines-no-malloc, cppcoreguidelines-slicing, google-*, modernize-use-emplace, modernize-use-equals-default, modernize-use-equals-delete, performance-implicit-conversion-in-loop, performance-inefficient-algorithm, performance-move-constructor-init, performance-no-automatic-move, performance-trivially-destructible, performance-type-promotion-in-math-fn, performance-unnecessary-copy-initialization, modernize-use-bool-literals, performance-unnecessary-value-param, modernize-make-unique, performance-for-range-copy, performance-faster-string-find, modernize-redundant-void-arg, modernize-avoid-bind, modernize-use-auto, modernize-use-using, performance-inefficient-vector-operation, cppcoreguidelines-special-member-functions, modernize-loop-convert, cppcoreguidelines-init-variables, modernize-use-nullptr, cppcoreguidelines-macro-usage, cppcoreguidelines-narrowing-conversions

CheckOptions:
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
Expand Down
11 changes: 6 additions & 5 deletions src/commands/redis_cmd.cc
Original file line number Diff line number Diff line change
Expand Up @@ -670,7 +670,7 @@ class CommandPSetEX : public Commander {
if (*ttl_ms < 1000) {
ttl_ = 1;
} else {
ttl_ = *ttl_ms / 1000;
ttl_ = static_cast<int>(*ttl_ms / 1000);
}

return Commander::Parse(args);
Expand Down Expand Up @@ -1270,7 +1270,7 @@ class CommandExpireAt : public Commander {
return {Status::RedisParseErr, "the expire time was overflow"};
}

timestamp_ = *parse_result;
timestamp_ = static_cast<int>(*parse_result);

return Commander::Parse(args);
}
Expand Down Expand Up @@ -3470,7 +3470,7 @@ class CommandGeoRadius : public CommandGeoBase {
}

std::string GenerateOutput(const std::vector<GeoPoint> &geo_points) {
int result_length = geo_points.size();
int result_length = static_cast<int>(geo_points.size());
int returned_items_count = (count_ == 0 || result_length < count_) ? result_length : count_;
std::vector<std::string> list;
for (int i = 0; i < returned_items_count; i++) {
Expand Down Expand Up @@ -4581,7 +4581,7 @@ class CommandCommand : public Commander {
GetCommandsInfo(output, std::vector<std::string>(args_.begin() + 2, args_.end()));
} else if (sub_command == "getkeys") {
std::vector<int> keys_indexes;
auto s = GetKeysFromCommand(args_[2], args_.size() - 2, &keys_indexes);
auto s = GetKeysFromCommand(args_[2], static_cast<int>(args_.size()) - 2, &keys_indexes);
if (!s.IsOK()) return s;

if (keys_indexes.size() == 0) {
Expand Down Expand Up @@ -5043,7 +5043,8 @@ class CommandFetchFile : public Commander {
// Sleep if the speed of sending file is more than replication speed limit
auto end = std::chrono::high_resolution_clock::now();
uint64_t duration = std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();
auto shortest = static_cast<uint64_t>(static_cast<double>(file_size) / max_replication_bytes * (1000 * 1000));
auto shortest = static_cast<uint64_t>(static_cast<double>(file_size) /
static_cast<double>(max_replication_bytes) * (1000 * 1000));
if (max_replication_bytes > 0 && duration < shortest) {
LOG(INFO) << "[replication] Need to sleep " << (shortest - duration) / 1000
<< " ms since of sending files too quickly";
Expand Down
4 changes: 2 additions & 2 deletions src/common/io_util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ Status SockSetTcpKeepalive(int fd, int interval) {
return Status::OK();
}

Status SockConnect(const std::string &host, uint32_t port, int *fd, uint64_t conn_timeout, uint64_t timeout) {
Status SockConnect(const std::string &host, uint32_t port, int *fd, int conn_timeout, int timeout) {
if (conn_timeout == 0) {
auto s = SockConnect(host, port, fd);
if (!s) return s;
Expand Down Expand Up @@ -316,7 +316,7 @@ bool IsPortInUse(int port) {

/* Wait for milliseconds until the given file descriptor becomes
* writable/readable/exception */
int aeWait(int fd, int mask, uint64_t timeout) {
int aeWait(int fd, int mask, int timeout) {
pollfd pfd;
int retmask = 0, retval = 0;

Expand Down
4 changes: 2 additions & 2 deletions src/common/io_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace Util {

sockaddr_in NewSockaddrInet(const std::string &host, uint32_t port);
Status SockConnect(const std::string &host, uint32_t port, int *fd);
Status SockConnect(const std::string &host, uint32_t port, int *fd, uint64_t conn_timeout, uint64_t timeout = 0);
Status SockConnect(const std::string &host, uint32_t port, int *fd, int conn_timeout, int timeout = 0);
Status SockSetTcpNoDelay(int fd, int val);
Status SockSetTcpKeepalive(int fd, int interval);
Status SockSend(int fd, const std::string &data);
Expand All @@ -39,7 +39,7 @@ int GetPeerAddr(int fd, std::string *addr, uint32_t *port);
int GetLocalPort(int fd);
bool IsPortInUse(int port);

int aeWait(int fd, int mask, uint64_t milliseconds);
int aeWait(int fd, int mask, int milliseconds);

Status Write(int fd, const std::string &data);
Status Pwrite(int fd, const std::string &data, off_t offset);
Expand Down
2 changes: 1 addition & 1 deletion src/common/string_util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ int StringMatch(const std::string &pattern, const std::string &in, int nocase) {
}

// Glob-style pattern matching.
int StringMatchLen(const char *pattern, int patternLen, const char *string, int stringLen, int nocase) {
int StringMatchLen(const char *pattern, size_t patternLen, const char *string, size_t stringLen, int nocase) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since I noticed it via your PR, you can change the camel case to the snake case here for function arguments.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed

while (patternLen && stringLen) {
switch (pattern[0]) {
case '*':
Expand Down
2 changes: 1 addition & 1 deletion src/common/string_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ std::vector<std::string> Split(const std::string &in, const std::string &delim);
std::vector<std::string> Split2KV(const std::string &in, const std::string &delim);
bool HasPrefix(const std::string &str, const std::string &prefix);
int StringMatch(const std::string &pattern, const std::string &in, int nocase);
int StringMatchLen(const char *p, int plen, const char *s, int slen, int nocase);
int StringMatchLen(const char *p, size_t plen, const char *s, size_t slen, int nocase);
std::string StringToHex(const std::string &input);
std::vector<std::string> TokenizeRedisProtocol(const std::string &value);

Expand Down
8 changes: 4 additions & 4 deletions src/config/config.cc
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,8 @@ void Config::initFieldValidator() {
s = Util::DecimalStringToNum(args[1], &stop, 0, 24);
if (!s.IsOK()) return s;
if (start > stop) return Status(Status::NotOK, "invalid range format, start should be smaller than stop");
compaction_checker_range.Start = start;
compaction_checker_range.Stop = stop;
compaction_checker_range.Start = static_cast<int>(start);
compaction_checker_range.Stop = static_cast<int>(stop);
return Status::OK();
}},
{"rename-command",
Expand Down Expand Up @@ -430,7 +430,7 @@ void Config::initFieldCallback() {
{"max-io-mb",
[this](Server *srv, const std::string &k, const std::string &v) -> Status {
if (!srv) return Status::OK();
srv->storage_->SetIORateLimit(static_cast<uint64_t>(max_io_mb));
srv->storage_->SetIORateLimit(max_io_mb);
return Status::OK();
}},
{"profiling-sample-record-max-len",
Expand Down Expand Up @@ -588,7 +588,7 @@ void Config::initFieldCallback() {
}
}

void Config::SetMaster(const std::string &host, int port) {
void Config::SetMaster(const std::string &host, uint32_t port) {
master_host = host;
master_port = port;
auto iter = fields_.find("slaveof");
Expand Down
4 changes: 2 additions & 2 deletions src/config/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ struct Config {
std::string master_host;
std::string unixsocket;
int unixsocketperm = 0777;
int master_port = 0;
uint32_t master_port = 0;
torwig marked this conversation as resolved.
Show resolved Hide resolved
Cron compact_cron;
Cron bgsave_cron;
CompactionCheckerRange compaction_checker_range{-1, -1};
Expand Down Expand Up @@ -197,7 +197,7 @@ struct Config {
Status Load(const CLIOptions &path);
void Get(const std::string &key, std::vector<std::string> *values);
Status Set(Server *svr, std::string key, const std::string &value);
void SetMaster(const std::string &host, int port);
void SetMaster(const std::string &host, uint32_t port);
void ClearMaster();
Status GetNamespace(const std::string &ns, std::string *token);
Status AddNamespace(const std::string &ns, const std::string &token);
Expand Down
2 changes: 1 addition & 1 deletion src/main.cc
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ extern "C" void segvHandler(int sig, siginfo_t *info, void *secret) {
for (int i = 1; i < trace_size; ++i) {
char func_info[1024] = {};
if (google::Symbolize(trace[i], func_info, sizeof(func_info) - 1)) {
LOG(ERROR) << std::left << std::setw(max_msg_len) << messages[i] << " " << func_info;
LOG(ERROR) << std::left << std::setw(static_cast<int>(max_msg_len)) << messages[i] << " " << func_info;
} else {
LOG(ERROR) << messages[i];
}
Expand Down
6 changes: 3 additions & 3 deletions src/server/redis_connection.cc
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ void Connection::SendFile(int fd) {
evbuffer_add_file(output, fd, 0, -1);
}

void Connection::SetAddr(std::string ip, int port) {
void Connection::SetAddr(std::string ip, uint32_t port) {
ip_ = std::move(ip);
port_ = port;
addr_ = ip_ + ":" + std::to_string(port_);
Expand Down Expand Up @@ -196,7 +196,7 @@ void Connection::UnSubscribeChannel(const std::string &channel) {

void Connection::UnSubscribeAll(const unsubscribe_callback &reply) {
if (subscribe_channels_.empty()) {
if (reply != nullptr) reply("", subcribe_patterns_.size());
if (reply != nullptr) reply("", static_cast<int>(subcribe_patterns_.size()));
return;
}
int removed = 0;
Expand Down Expand Up @@ -233,7 +233,7 @@ void Connection::PUnSubscribeChannel(const std::string &pattern) {

void Connection::PUnSubscribeAll(const unsubscribe_callback &reply) {
if (subcribe_patterns_.empty()) {
if (reply != nullptr) reply("", subscribe_channels_.size());
if (reply != nullptr) reply("", static_cast<int>(subscribe_channels_.size()));
return;
}

Expand Down
4 changes: 2 additions & 2 deletions src/server/redis_connection.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class Connection {
std::string GetName() { return name_; }
void SetName(std::string name) { name_ = std::move(name); }
std::string GetAddr() { return addr_; }
void SetAddr(std::string ip, int port);
void SetAddr(std::string ip, uint32_t port);
void SetLastCmd(std::string cmd) { last_cmd_ = std::move(cmd); }
std::string GetIP() { return ip_; }
int GetPort() { return port_; }
Expand Down Expand Up @@ -125,7 +125,7 @@ class Connection {
std::string ns_;
std::string name_;
std::string ip_;
int port_ = 0;
uint32_t port_ = 0;
std::string addr_;
int listening_port_ = 0;
bool is_admin_ = false;
Expand Down
4 changes: 0 additions & 4 deletions src/server/redis_reply.cc
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,10 @@ std::string SimpleString(const std::string &data) { return "+" + data + CRLF; }

std::string Error(const std::string &err) { return "-" + err + CRLF; }

std::string Integer(int64_t data) { return ":" + std::to_string(data) + CRLF; }

std::string BulkString(const std::string &data) { return "$" + std::to_string(data.length()) + CRLF + data + CRLF; }

std::string NilString() { return "$-1" CRLF; }

std::string MultiLen(int64_t len) { return "*" + std::to_string(len) + CRLF; }

std::string MultiBulkString(const std::vector<std::string> &values, bool output_nil_for_empty_string) {
std::string result = "*" + std::to_string(values.size()) + CRLF;
for (const auto &value : values) {
Expand Down
14 changes: 12 additions & 2 deletions src/server/redis_reply.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,20 @@ namespace Redis {
void Reply(evbuffer *output, const std::string &data);
std::string SimpleString(const std::string &data);
std::string Error(const std::string &err);
std::string Integer(int64_t data);

template <typename IntegerType>
std::string Integer(IntegerType data) {
return ":" + std::to_string(data) + CRLF;
}

std::string BulkString(const std::string &data);
std::string NilString();
std::string MultiLen(int64_t len);

template <typename IntegerType>
std::string MultiLen(IntegerType len) {
return "*" + std::to_string(len) + CRLF;
}

std::string Array(const std::vector<std::string> &list);
std::string MultiBulkString(const std::vector<std::string> &values, bool output_nil_for_empty_string = true);
std::string MultiBulkString(const std::vector<std::string> &values, const std::vector<rocksdb::Status> &statuses);
Expand Down
2 changes: 1 addition & 1 deletion src/server/redis_request.cc
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ Status Request::Tokenize(evbuffer *input) {
}
case BulkData:
if (evbuffer_get_length(input) < bulk_len_ + 2) return Status::OK();
char *data = reinterpret_cast<char *>(evbuffer_pullup(input, bulk_len_ + 2));
char *data = reinterpret_cast<char *>(evbuffer_pullup(input, static_cast<ssize_t>(bulk_len_ + 2)));
tokens_.emplace_back(data, bulk_len_);
evbuffer_drain(input, bulk_len_ + 2);
svr_->stats_.IncrInbondBytes(bulk_len_ + 2);
Expand Down
8 changes: 5 additions & 3 deletions src/server/server.cc
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ Status Server::Start() {

compaction_checker_thread_ = std::thread([this]() {
uint64_t counter = 0;
int32_t last_compact_date = 0;
time_t last_compact_date = 0;
Util::ThreadSetName("compact-check");
CompactionChecker compaction_checker(this->storage_);
while (!stop_) {
Expand Down Expand Up @@ -1035,15 +1035,17 @@ void Server::GetInfo(const std::string &ns, const std::string &section, std::str
string_stream << "sequence:" << storage_->GetDB()->GetLatestSequenceNumber() << "\r\n";
string_stream << "used_db_size:" << storage_->GetTotalSize(ns) << "\r\n";
string_stream << "max_db_size:" << config_->max_db_size * GiB << "\r\n";
double used_percent = config_->max_db_size ? storage_->GetTotalSize() * 100 / (config_->max_db_size * GiB) : 0;
double used_percent = config_->max_db_size ? static_cast<double>(storage_->GetTotalSize() * 100) /
static_cast<double>(config_->max_db_size * GiB)
: 0;
string_stream << "used_percent: " << used_percent << "%\r\n";
struct statvfs stat;
if (statvfs(config_->db_dir.c_str(), &stat) == 0) {
auto disk_capacity = stat.f_blocks * stat.f_frsize;
auto used_disk_size = (stat.f_blocks - stat.f_bavail) * stat.f_frsize;
string_stream << "disk_capacity:" << disk_capacity << "\r\n";
string_stream << "used_disk_size:" << used_disk_size << "\r\n";
double used_disk_percent = used_disk_size * 100 / disk_capacity;
double used_disk_percent = static_cast<double>(used_disk_size * 100) / static_cast<double>(disk_capacity);
string_stream << "used_disk_percent: " << used_disk_percent << "%\r\n";
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/stats/log_collector.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ LogCollector<T>::~LogCollector() {

template <class T>
ssize_t LogCollector<T>::Size() {
size_t n = 0;
ssize_t n = 0;
std::lock_guard<std::mutex> guard(mu_);
n = entries_.size();
return n;
Expand Down
4 changes: 1 addition & 3 deletions src/storage/lock_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,7 @@ LockManager::~LockManager() {
}
}

unsigned LockManager::hash(const rocksdb::Slice &key) {
return static_cast<unsigned>(std::hash<std::string>{}(key.ToString()) & hash_mask_);
}
unsigned LockManager::hash(const rocksdb::Slice &key) { return std::hash<std::string>{}(key.ToString()) & hash_mask_; }

unsigned LockManager::Size() { return (1U << hash_power_); }

Expand Down
2 changes: 1 addition & 1 deletion src/storage/lock_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class LockManager {

private:
int hash_power_;
int hash_mask_;
unsigned hash_mask_;
std::vector<std::mutex *> mutex_pool_;
unsigned hash(const rocksdb::Slice &key);
};
Expand Down
6 changes: 3 additions & 3 deletions src/storage/scripting.cc
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ int redisLogCommand(lua_State *lua) {
lua_pushstring(lua, "First argument must be a number (log level).");
return lua_error(lua);
}
level = lua_tonumber(lua, -argc);
level = static_cast<int>(lua_tonumber(lua, -argc));
if (level < LL_DEBUG || level > LL_WARNING) {
lua_pushstring(lua, "Invalid debug level.");
return lua_error(lua);
Expand Down Expand Up @@ -269,7 +269,7 @@ Status evalGenericCommand(Redis::Connection *conn, const std::vector<std::string
} else {
for (int j = 0; j < 40; j++) {
std::string sha = args[1];
funcname[j + 2] = (sha[j] >= 'A' && sha[j] <= 'Z') ? sha[j] + ('a' - 'A') : sha[j];
funcname[j + 2] = (sha[j] >= 'A' && sha[j] <= 'Z') ? static_cast<char>(sha[j] + 'a' - 'A') : sha[j];
}
funcname[42] = '\0';
}
Expand Down Expand Up @@ -835,7 +835,7 @@ void sortArray(lua_State *lua) {

void setGlobalArray(lua_State *lua, const std::string &var, const std::vector<std::string> &elems) {
lua_newtable(lua);
for (size_t i = 0; i < elems.size(); i++) {
for (int i = 0; i < elems.size(); i++) {
lua_pushlstring(lua, elems[i].c_str(), elems[i].size());
lua_rawseti(lua, -2, i + 1);
}
Expand Down
Loading