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;