mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 14:53:43 +01:00
Merge pull request #1901 from laanwj/2012_10_remove_strlcpy
get rid of strlcpy.h
This commit is contained in:
31
src/util.cpp
31
src/util.cpp
@@ -5,10 +5,11 @@
|
||||
|
||||
#include "util.h"
|
||||
#include "sync.h"
|
||||
#include "strlcpy.h"
|
||||
#include "version.h"
|
||||
#include "ui_interface.h"
|
||||
#include <boost/algorithm/string/join.hpp>
|
||||
#include <boost/algorithm/string/case_conv.hpp> // for to_lower()
|
||||
#include <boost/algorithm/string/predicate.hpp> // for startswith() and endswith()
|
||||
|
||||
// Work around clang compilation problem in Boost 1.46:
|
||||
// /usr/include/boost/program_options/detail/config_file.hpp:163:17: error: call to function 'to_internal' that is neither visible in the template definition nor found by argument-dependent lookup
|
||||
@@ -505,24 +506,24 @@ void ParseParameters(int argc, const char* const argv[])
|
||||
mapMultiArgs.clear();
|
||||
for (int i = 1; i < argc; i++)
|
||||
{
|
||||
char psz[10000];
|
||||
strlcpy(psz, argv[i], sizeof(psz));
|
||||
char* pszValue = (char*)"";
|
||||
if (strchr(psz, '='))
|
||||
std::string str(argv[i]);
|
||||
std::string strValue;
|
||||
size_t is_index = str.find('=');
|
||||
if (is_index != std::string::npos)
|
||||
{
|
||||
pszValue = strchr(psz, '=');
|
||||
*pszValue++ = '\0';
|
||||
strValue = str.substr(is_index+1);
|
||||
str = str.substr(0, is_index);
|
||||
}
|
||||
#ifdef WIN32
|
||||
_strlwr(psz);
|
||||
if (psz[0] == '/')
|
||||
psz[0] = '-';
|
||||
#endif
|
||||
if (psz[0] != '-')
|
||||
#ifdef WIN32
|
||||
boost::to_lower(str);
|
||||
if (boost::algorithm::starts_with(str, "/"))
|
||||
str = "-" + str.substr(1);
|
||||
#endif
|
||||
if (str[0] != '-')
|
||||
break;
|
||||
|
||||
mapArgs[psz] = pszValue;
|
||||
mapMultiArgs[psz].push_back(pszValue);
|
||||
mapArgs[str] = strValue;
|
||||
mapMultiArgs[str].push_back(strValue);
|
||||
}
|
||||
|
||||
// New 0.6 features:
|
||||
|
||||
Reference in New Issue
Block a user