From: Joshua Rogers Date: Thu, 11 Sep 2025 10:31:55 +0000 (+0000) Subject: NoNewGlobals for Auth::Scheme::_Schemes (#2196) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=51ff354e645db30ef805544e16c1fd696f11a1f8;p=thirdparty%2Fsquid.git NoNewGlobals for Auth::Scheme::_Schemes (#2196) --- diff --git a/src/auth/Scheme.cc b/src/auth/Scheme.cc index ba25cbb7b0..8a6a11ad09 100644 --- a/src/auth/Scheme.cc +++ b/src/auth/Scheme.cc @@ -14,8 +14,6 @@ #include "auth/SchemeConfig.h" #include "globals.h" -std::vector *Auth::Scheme::_Schemes = nullptr; - void Auth::Scheme::AddScheme(Auth::Scheme::Pointer instance) { @@ -43,10 +41,8 @@ Auth::Scheme::Find(const char *typestr) std::vector & Auth::Scheme::GetSchemes() { - if (!_Schemes) - _Schemes = new std::vector; - - return *_Schemes; + static const auto schemes = new std::vector; + return *schemes; } /** diff --git a/src/auth/Scheme.h b/src/auth/Scheme.h index f67d941c5f..4a25b2e892 100644 --- a/src/auth/Scheme.h +++ b/src/auth/Scheme.h @@ -65,9 +65,6 @@ public: protected: bool initialised; - -private: - static std::vector *_Schemes; }; } // namespace Auth diff --git a/src/tests/stub_libauth.cc b/src/tests/stub_libauth.cc index db9e34b6a3..2e55410bae 100644 --- a/src/tests/stub_libauth.cc +++ b/src/tests/stub_libauth.cc @@ -30,10 +30,9 @@ void authenticateReset(void) STUB #include "auth/Scheme.h" #include -std::vector *Auth::Scheme::_Schemes = nullptr; void Auth::Scheme::AddScheme(Auth::Scheme::Pointer) STUB Auth::Scheme::Pointer Auth::Scheme::Find(const char *) STUB_RETVAL(nullptr) -std::vector & Auth::Scheme::GetSchemes() STUB_RETVAL(*_Schemes); +std::vector & Auth::Scheme::GetSchemes() STUB_RETREF(std::vector) void Auth::Scheme::FreeAll() STUB #include "auth/SchemesConfig.h"