From: Sage Weil Date: Mon, 9 Nov 2015 18:40:41 +0000 (-0500) Subject: kv: fix string ctor usage X-Git-Tag: v10.0.1~112^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9689fe0ae0cbb065debc0e461e97719478985fee;p=ceph.git kv: fix string ctor usage When constructing a string from a char* there is only a single length argument, no offset. The 3 argument variant we were using was converting to a std::string first (an prematurely terminating on \0). Signed-off-by: Sage Weil --- diff --git a/src/kv/KineticStore.cc b/src/kv/KineticStore.cc index b79ab37314be..d11975b4aeab 100644 --- a/src/kv/KineticStore.cc +++ b/src/kv/KineticStore.cc @@ -218,9 +218,9 @@ int KineticStore::split_key(string in_prefix, string *prefix, string *key) // Fetch prefix and/or key directly from Slice if (prefix) - *prefix = string(in_data, 0, prefix_len); + *prefix = string(in_data, prefix_len); if (key) - *key = string(separator+1, 0, in_prefix.size()-prefix_len-1); + *key = string(separator+1, in_prefix.size()-prefix_len-1); return 0; } diff --git a/src/kv/LevelDBStore.cc b/src/kv/LevelDBStore.cc index 90fd8ed36a4c..2db6dc94ed74 100644 --- a/src/kv/LevelDBStore.cc +++ b/src/kv/LevelDBStore.cc @@ -275,12 +275,11 @@ int LevelDBStore::split_key(leveldb::Slice in, string *prefix, string *key) if (prefix_len >= in.size()) return -EINVAL; - // Fetch prefix and/or key directly from Slice if (prefix) - *prefix = string(in.data(), 0, prefix_len); + *prefix = string(in.data(), prefix_len); if (key) - *key = string(separator+1, 0, in.size()-prefix_len-1); - return 0; + *key = string(separator+1, in.size() - prefix_len - 1); + return 0; } void LevelDBStore::compact() diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc index e7d41f3a9aa8..6dfde87a8900 100644 --- a/src/kv/RocksDBStore.cc +++ b/src/kv/RocksDBStore.cc @@ -342,9 +342,9 @@ int RocksDBStore::split_key(rocksdb::Slice in, string *prefix, string *key) // Fetch prefix and/or key directly from Slice if (prefix) - *prefix = string(in.data(), 0, prefix_len); + *prefix = string(in.data(), prefix_len); if (key) - *key = string(separator+1, 0, in.size()-prefix_len-1); + *key = string(separator+1, in.size()-prefix_len-1); return 0; }