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 <[email protected]>
---
 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,


-- 
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to