SHA256
1
0
forked from pool/systemtap
systemtap/gcc12-c-compatibility-re-tweak-for-rhel6-use-function-pointer-instead-of-lambdas-instead-of-ptr_fun.patch

54 lines
1.5 KiB
Diff
Raw Normal View History

From: Serhei Makarov <serhei@serhei.io>
Date: Fri, 21 Jan 2022 18:21:46 -0500
Subject: gcc12 c++ compatibility re-tweak for rhel6: use function pointer
instead of lambdas instead of ptr_fun<>
Git-repo: git://sourceware.org/git/systemtap.git
Git-commit: f199d1982ef8a6c6d5c06c082d057b8793bcc6aa
References: bsc#1196583
Saving 2 lines in ltrim/rtrim is probably not a good reason to drop
compatibility with the RHEL6 system compiler. Actually declaring a
named function and passing the function pointer is compatible with
everything.
Signed-off-by: Tony Jones <tonyj@suse.de>
---
util.cxx | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/util.cxx b/util.cxx
index e9286eca3..ad36259c9 100644
--- a/util.cxx
+++ b/util.cxx
@@ -1757,21 +1757,24 @@ flush_to_stream (const string &fname, ostream &o)
return 1; // Failure
}
+int
+not_isspace(unsigned char c)
+{
+ return !std::isspace(c);
+}
+
// trim from start (in place)
void
ltrim(std::string &s)
{
- s.erase(s.begin(),
- std::find_if(s.begin(), s.end(),
- [](unsigned char c) { return !std::isspace(c); }));
+ s.erase(s.begin(), std::find_if(s.begin(), s.end(), not_isspace));
}
// trim from end (in place)
void
rtrim(std::string &s)
{
- s.erase(std::find_if(s.rbegin(), s.rend(),
- [](unsigned char c) { return !std::isspace(c); }).base(), s.end());
+ s.erase(std::find_if(s.rbegin(), s.rend(), not_isspace).base(), s.end());
}
// trim from both ends (in place)