mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-28 16:01:10 +02:00
system/helpers.cpp: add split_config_string helper
Origin commit data
------------------
Commit: bef1b79bed
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2014-04-23 (Wed, 23 Apr 2014)
This commit is contained in:
@@ -740,3 +740,20 @@ void hdd_flush(const char * fname)
|
||||
close(fd);
|
||||
}
|
||||
}
|
||||
|
||||
/* split string like PARAM1=value1 PARAM2=value2 into map */
|
||||
bool split_config_string(const std::string &str, std::map<std::string,std::string> &smap)
|
||||
{
|
||||
smap.clear();
|
||||
std::string::size_type start = 0;
|
||||
std::string::size_type end = 0;
|
||||
while ((end = str.find(" ", start)) != std::string::npos) {
|
||||
std::string param = str.substr(start, end - start);
|
||||
std::string::size_type i = param.find("=");
|
||||
if (i != std::string::npos) {
|
||||
smap[param.substr(0,i).c_str()] = param.substr(i+1).c_str();
|
||||
}
|
||||
start = end + 1;
|
||||
}
|
||||
return !smap.empty();
|
||||
}
|
||||
|
@@ -26,6 +26,7 @@
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <map>
|
||||
|
||||
int my_system(const char * cmd);
|
||||
int my_system(int argc, const char *arg, ...); /* argc is number of arguments including command */
|
||||
@@ -85,4 +86,5 @@ template<class C> std::string to_string(C i)
|
||||
|
||||
inline void cstrncpy(char *dest, const char * const src, size_t n) { n--; strncpy(dest, src, n); dest[n] = 0; }
|
||||
inline void cstrncpy(char *dest, const std::string &src, size_t n) { n--; strncpy(dest, src.c_str(), n); dest[n] = 0; }
|
||||
bool split_config_string(const std::string &str, std::map<std::string,std::string> &smap);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user