diff options
author | Mathias Gumz <akira at fluxbox dot org> | 2010-08-24 15:30:24 (GMT) |
---|---|---|
committer | Mathias Gumz <akira at fluxbox dot org> | 2010-08-24 15:30:24 (GMT) |
commit | b8987fc6238a747285b3aeac6f3b206a74e0d36a (patch) | |
tree | f8826582a15deec69942310e4405aac3b412b4c0 /src/FbTk/StringUtil.cc | |
parent | 874eb67297cd63999730d1e779ff00581dcbb89d (diff) | |
download | fluxbox-b8987fc6238a747285b3aeac6f3b206a74e0d36a.zip fluxbox-b8987fc6238a747285b3aeac6f3b206a74e0d36a.tar.bz2 |
code simplification / deduplication
* parse the string only once for a bunch of chars to check instead of
starting over again and again from the beginning, created a helper
function to do this (FbTk::StringUtil::findCharFromAlphabetAfterTrigger)
* put same code into a function (setClockModeLabel())
* use much simpler code to switch between 12h and 24h mode and replace
the fmt-switches
Diffstat (limited to 'src/FbTk/StringUtil.cc')
-rw-r--r-- | src/FbTk/StringUtil.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/FbTk/StringUtil.cc b/src/FbTk/StringUtil.cc index 602211e..4678f03 100644 --- a/src/FbTk/StringUtil.cc +++ b/src/FbTk/StringUtil.cc | |||
@@ -164,6 +164,24 @@ string findExtension(const string &filename) { | |||
164 | return filename.substr(start_pos + 1); | 164 | return filename.substr(start_pos + 1); |
165 | } | 165 | } |
166 | 166 | ||
167 | string::size_type findCharFromAlphabetAfterTrigger(const std::string& in, char trigger, const char alphabet[], size_t len_alphabet, size_t* found) { | ||
168 | for (const char* s = in.c_str(); *s != '\0'; ) { | ||
169 | if (*s++ == trigger && *s != '\0') { | ||
170 | for (const char* a = alphabet; (a - alphabet) < len_alphabet; ++a) { | ||
171 | if (*s == *a) { | ||
172 | if (found) { | ||
173 | *found = a - alphabet; | ||
174 | } | ||
175 | return s - in.c_str() - 1; | ||
176 | } | ||
177 | } | ||
178 | s++; | ||
179 | } | ||
180 | } | ||
181 | return string::npos; | ||
182 | } | ||
183 | |||
184 | |||
167 | string replaceString(const string &original, | 185 | string replaceString(const string &original, |
168 | const char *findthis, | 186 | const char *findthis, |
169 | const char *replace) { | 187 | const char *replace) { |