mirror of https://github.com/aria2/aria2
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added trimSelf(). Rewritten trim() to use trimSelf(). * Util.cc * Util.hpull/1/head
parent
90846bdafe
commit
ad6ffd7f33
|
@ -1,3 +1,9 @@
|
||||||
|
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
||||||
|
|
||||||
|
Added trimSelf(). Rewritten trim() to use trimSelf().
|
||||||
|
* Util.cc
|
||||||
|
* Util.h
|
||||||
|
|
||||||
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
||||||
|
|
||||||
* src/ChunkChecksum.h (getChecksum): Return const reference.
|
* src/ChunkChecksum.h (getChecksum): Return const reference.
|
||||||
|
|
20
src/Util.cc
20
src/Util.cc
|
@ -60,14 +60,24 @@
|
||||||
|
|
||||||
namespace aria2 {
|
namespace aria2 {
|
||||||
|
|
||||||
|
const std::string Util::DEFAULT_TRIM_CHARSET("\r\n\t ");
|
||||||
|
|
||||||
std::string Util::trim(const std::string& src, const std::string& trimCharset)
|
std::string Util::trim(const std::string& src, const std::string& trimCharset)
|
||||||
{
|
{
|
||||||
std::string::size_type sp = src.find_first_not_of(trimCharset);
|
std::string temp(src);
|
||||||
std::string::size_type ep = src.find_last_not_of(trimCharset);
|
trimSelf(temp, trimCharset);
|
||||||
if(sp == std::string::npos || ep == std::string::npos) {
|
return temp;
|
||||||
return A2STR::NIL;
|
}
|
||||||
|
|
||||||
|
void Util::trimSelf(std::string& str, const std::string& trimCharset)
|
||||||
|
{
|
||||||
|
std::string::size_type first = str.find_first_not_of(trimCharset);
|
||||||
|
if(first == std::string::npos) {
|
||||||
|
str.clear();
|
||||||
} else {
|
} else {
|
||||||
return src.substr(sp, ep-sp+1);
|
std::string::size_type last = str.find_last_not_of(trimCharset)+1;
|
||||||
|
str.erase(last);
|
||||||
|
str.erase(0, first);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -119,7 +119,13 @@ public:
|
||||||
static void slice(std::deque<std::string>& result, const std::string& src,
|
static void slice(std::deque<std::string>& result, const std::string& src,
|
||||||
char delim, bool trim = false);
|
char delim, bool trim = false);
|
||||||
|
|
||||||
static std::string trim(const std::string& src, const std::string& trimCharset = "\r\n\t ");
|
static const std::string DEFAULT_TRIM_CHARSET;
|
||||||
|
|
||||||
|
static std::string trim(const std::string& src,
|
||||||
|
const std::string& trimCharset = DEFAULT_TRIM_CHARSET);
|
||||||
|
|
||||||
|
static void trimSelf(std::string& str,
|
||||||
|
const std::string& trimCharset = DEFAULT_TRIM_CHARSET);
|
||||||
|
|
||||||
static bool startsWith(const std::string& target, const std::string& part);
|
static bool startsWith(const std::string& target, const std::string& part);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue