Mercurial > hg > bitcoin
diff src/script.cpp @ 3156:505666711e5b draft
Use unsigned ints to fix signed/unsigned warnings
author | Gavin Andresen <gavinandresen@gmail.com> |
---|---|
date | Thu, 05 Jul 2012 13:25:52 -0400 (2012-07-05) |
parents | 6c1eeeb7e4c2 |
children | 56ff97ff8aec |
line wrap: on
line diff
--- a/src/script.cpp +++ b/src/script.cpp @@ -1331,7 +1331,7 @@ { int nSigned = 0; int nRequired = multisigdata.front()[0]; - for (int i = 1; i < multisigdata.size()-1 && nSigned < nRequired; i++) + for (unsigned int i = 1; i < multisigdata.size()-1 && nSigned < nRequired; i++) { const valtype& pubkey = multisigdata[i]; CKeyID keyID = CPubKey(pubkey).GetID(); @@ -1672,12 +1672,13 @@ } // Build a map of pubkey -> signature by matching sigs to pubkeys: - int nSigsRequired = vSolutions.front()[0]; - int nPubKeys = vSolutions.size()-2; + assert(vSolutions.size() > 1); + unsigned int nSigsRequired = vSolutions.front()[0]; + unsigned int nPubKeys = vSolutions.size()-2; map<valtype, valtype> sigs; BOOST_FOREACH(const valtype& sig, allsigs) { - for (int i = 0; i < nPubKeys; i++) + for (unsigned int i = 0; i < nPubKeys; i++) { const valtype& pubkey = vSolutions[i+1]; if (sigs.count(pubkey)) @@ -1693,7 +1694,7 @@ // Now build a merged CScript: unsigned int nSigsHave = 0; CScript result; result << OP_0; // pop-one-too-many workaround - for (int i = 0; i < nPubKeys && nSigsHave < nSigsRequired; i++) + for (unsigned int i = 0; i < nPubKeys && nSigsHave < nSigsRequired; i++) { if (sigs.count(vSolutions[i+1])) { @@ -1702,7 +1703,7 @@ } } // Fill any missing with OP_0: - for (int i = nSigsHave; i < nSigsRequired; i++) + for (unsigned int i = nSigsHave; i < nSigsRequired; i++) result << OP_0; return result;