Merge pull request #7266 from sahithi-rv/master

common/str_map: cleanup: replaced get_str_map() function overloading by using default parameters for delimiters

Reviewed-by: Sage Weil <sage@redhat.com>
This commit is contained in:
Sage Weil 2016-01-31 10:03:14 -05:00
commit 64fbda8371
4 changed files with 9 additions and 19 deletions

View File

@ -51,7 +51,7 @@ int get_json_str_map(
} catch (json_spirit::Error_position &e) {
if (fallback_to_plain) {
// fallback to key=value format
get_str_map(str, "\t\n ", str_map);
get_str_map(str, str_map, "\t\n ");
} else {
return -EINVAL;
}
@ -75,8 +75,8 @@ string trim(const string& str) {
int get_str_map(
const string &str,
const char *delims,
map<string,string> *str_map)
map<string,string> *str_map,
const char *delims)
{
list<string> pairs;
get_str_list(str, delims, pairs);
@ -94,14 +94,6 @@ int get_str_map(
return 0;
}
int get_str_map(
const string &str,
map<string,string> *str_map)
{
const char *delims = ",;\t\n ";
return get_str_map(str, delims, str_map);
}
string get_str_map_value(
const map<string,string> &str_map,
const string &key,

View File

@ -17,6 +17,8 @@
#ifndef CEPH_STRMAP_H
#define CEPH_STRMAP_H
#define CONST_DELIMS ",;\t\n "
#include <map>
#include <string>
#include <sstream>
@ -89,12 +91,8 @@ extern int get_json_str_map(
*/
extern int get_str_map(
const std::string &str,
const char *delims,
std::map<std::string,std::string> *str_map);
extern int get_str_map(
const std::string &str,
std::map<std::string,std::string> *str_map);
std::map<std::string,std::string> *str_map,
const char *delims = CONST_DELIMS);
/**
* Returns the value of **key** in **str_map** if available.

View File

@ -118,7 +118,7 @@ int RocksDBStore::tryInterpret(const string key, const string val, rocksdb::Opti
int RocksDBStore::ParseOptionsFromString(const string opt_str, rocksdb::Options &opt)
{
map<string, string> str_map;
int r = get_str_map(opt_str, ",\n;", &str_map);
int r = get_str_map(opt_str, &str_map, ",\n;");
if (r < 0)
return r;
map<string, string>::iterator it;

View File

@ -58,7 +58,7 @@ TEST(str_map, plaintext) {
}
{
map<string,string> str_map;
ASSERT_EQ(0, get_str_map(" key1=val1; key2=\tval2; key3\t = \t val3; \n ", "\n;", &str_map));
ASSERT_EQ(0, get_str_map(" key1=val1; key2=\tval2; key3\t = \t val3; \n ", &str_map, "\n;"));
ASSERT_EQ(4u, str_map.size());
ASSERT_EQ("val1", str_map["key1"]);
ASSERT_EQ("val2", str_map["key2"]);