[apparmor] [patch 06/18] parser: replace reverse iterator [resend]
Steve Beattie
steve at nxnw.org
Thu Jan 16 22:06:14 UTC 2014
As suggested by Seth Arnold, we can use string::find_last_not_of()
instead of using C++'s hideous reverse iterators.
Signed-off-by: Steve Beattie <steve at nxnw.org>
---
parser/parser_variable.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Index: b/parser/parser_variable.c
===================================================================
--- a/parser/parser_variable.c
+++ b/parser/parser_variable.c
@@ -137,11 +137,11 @@ void free_var_string(struct var_string *
static void trim_trailing_slash(std::string& str)
{
- for (std::string::reverse_iterator rit = str.rbegin();
- rit != str.rend() && *rit == '/'; ++rit) {
- /* yuck, reverse_iterators are ugly */
- str.erase(--rit.base());
- }
+ std::size_t found = str.find_last_not_of('/');
+ if (found != std::string::npos)
+ str.erase(found + 1);
+ else
+ str.clear(); // str is all '/'
}
static void write_replacement(const char separator, const char* value,
More information about the AppArmor
mailing list