From 322317951f2764d3cb55eea7d34f950b9c54e01a Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Mon, 24 Nov 2014 14:49:43 -0500 Subject: [PATCH] libbitcoinconsensus: don't require any global constructors These static objects are only used in once place, so declare them there instead. --- src/script/interpreter.cpp | 15 ++++++++------- src/utilstrencodings.cpp | 10 +++++----- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp index 5eda23731..a10cefcc0 100644 --- a/src/script/interpreter.cpp +++ b/src/script/interpreter.cpp @@ -17,13 +17,6 @@ using namespace std; typedef vector valtype; -static const valtype vchFalse(0); -static const valtype vchZero(0); -static const valtype vchTrue(1, 1); -static const CScriptNum bnZero(0); -static const CScriptNum bnOne(1); -static const CScriptNum bnFalse(0); -static const CScriptNum bnTrue(1); namespace { @@ -239,6 +232,14 @@ bool static CheckMinimalPush(const valtype& data, opcodetype opcode) { bool EvalScript(vector >& stack, const CScript& script, unsigned int flags, const BaseSignatureChecker& checker, ScriptError* serror) { + static const CScriptNum bnZero(0); + static const CScriptNum bnOne(1); + static const CScriptNum bnFalse(0); + static const CScriptNum bnTrue(1); + static const valtype vchFalse(0); + static const valtype vchZero(0); + static const valtype vchTrue(1, 1); + CScript::const_iterator pc = script.begin(); CScript::const_iterator pend = script.end(); CScript::const_iterator pbegincodehash = script.begin(); diff --git a/src/utilstrencodings.cpp b/src/utilstrencodings.cpp index a961b3c5c..d0062d454 100644 --- a/src/utilstrencodings.cpp +++ b/src/utilstrencodings.cpp @@ -14,13 +14,13 @@ using namespace std; -/** - * safeChars chosen to allow simple messages/URLs/email addresses, but avoid anything - * even possibly remotely dangerous like & or > - */ -static string safeChars("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 .,;_/:?@()"); string SanitizeString(const string& str) { + /** + * safeChars chosen to allow simple messages/URLs/email addresses, but avoid anything + * even possibly remotely dangerous like & or > + */ + static string safeChars("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 .,;_/:?@()"); string strResult; for (std::string::size_type i = 0; i < str.size(); i++) {