summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-01-08 00:54:24 +0000
committerDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-01-08 00:54:24 +0000
commit862f706301ab6d758af14d7342ae0499cfe3b5ad (patch)
treed6133ff727bf8ff633b34454a8472541470072e2
parent00c742e677f6a4fbc03a17dda23229c6a6753e35 (diff)
downloadvdr-plugin-live-862f706301ab6d758af14d7342ae0499cfe3b5ad.tar.gz
vdr-plugin-live-862f706301ab6d758af14d7342ae0499cfe3b5ad.tar.bz2
New function StringWordTruncate added
-rw-r--r--tools.cpp12
-rw-r--r--tools.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/tools.cpp b/tools.cpp
index de0b43c..beded35 100644
--- a/tools.cpp
+++ b/tools.cpp
@@ -71,4 +71,16 @@ string StringRepeat(int times, const string& input)
return result;
}
+string StringWordTruncated(const string& input, size_t maxLen, bool& truncated)
+{
+ if (input.length() <= maxLen)
+ {
+ return input;
+ }
+ truncated = true;
+ string result = input.substr(0, maxLen);
+ size_t pos = result.find_last_of(" \t,;:.\n?!'\"/\\()[]{}*+-");
+ return result.substr(0, pos);
+}
+
} // namespace vdrlive
diff --git a/tools.h b/tools.h
index d830d47..a196dc2 100644
--- a/tools.h
+++ b/tools.h
@@ -15,6 +15,7 @@ std::string StringReplace( std::string const& text, std::string const& substring
std::vector< std::string > StringSplit( std::string const& text, char delimiter );
int StringToInt( std::string const& string, int base = 10 );
std::string StringRepeat(int times, const std::string& input);
+std::string StringWordTruncated(const std::string& input, size_t maxLen, bool& truncated);
struct bad_lexical_cast: std::runtime_error
{