From 6d09720ff60a9144209b8a520454339f3f889df8 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Fri, 13 Feb 2015 07:44:10 -0800 Subject: [PATCH 2/5] signon: avoid redundant string copy Found via cppcheck: returning std::string::c_str() in method returning a std::string forces a string copy, which is inefficient. --- src/backends/signon/signon-accounts.cpp | 4 ++-- src/backends/signon/signon.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backends/signon/signon-accounts.cpp b/src/backends/signon/signon-accounts.cpp index e41d3f8..94cc635 100644 --- a/src/backends/signon/signon-accounts.cpp +++ b/src/backends/signon/signon-accounts.cpp @@ -127,7 +127,7 @@ public: SE_LOG_DEBUG(NULL, "retrieving OAuth2 token"); if (!m_accessToken.empty() && !m_invalidateCache) { - return m_accessToken.c_str(); + return m_accessToken; } GVariantBuilder builder; @@ -151,7 +151,7 @@ public: SE_THROW("Got the same invalid AccessToken"); } m_accessToken = newToken; - return m_accessToken.c_str(); + return m_accessToken; } virtual void invalidateCachedSecrets() { m_invalidateCache = true; } diff --git a/src/backends/signon/signon.cpp b/src/backends/signon/signon.cpp index 129a307..504dbce 100644 --- a/src/backends/signon/signon.cpp +++ b/src/backends/signon/signon.cpp @@ -74,7 +74,7 @@ public: SE_LOG_DEBUG(NULL, "retrieving OAuth2 token"); if (!m_accessToken.empty() && !m_invalidateCache) { - return m_accessToken.c_str(); + return m_accessToken; } // Retry login if even the refreshed token failed. @@ -116,7 +116,7 @@ public: SE_THROW("Got the same invalid AccessToken"); } m_accessToken = newToken; - return m_accessToken.c_str(); + return m_accessToken; } virtual void invalidateCachedSecrets() { m_invalidateCache = true; } -- 1.8.4.5