]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix signed/unsigned compiler warnings.
authordrh <drh@noemail.net>
Wed, 29 Jul 2020 12:23:20 +0000 (12:23 +0000)
committerdrh <drh@noemail.net>
Wed, 29 Jul 2020 12:23:20 +0000 (12:23 +0000)
FossilOrigin-Name: 1d69eee8b085d514f442840346f001b4785f8ec64f5ba66943e9577b26e2e29c

manifest
manifest.uuid
src/btree.c
src/build.c
src/insert.c
src/util.c
src/vdbe.c
src/wal.c

index 48601089f4e0778a8bc3c0dae3cb61d399941512..ed5431dc022146f464ef5cff064c945ab51e0b69 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Earlier\sdetection\sof\sout-of-range\spage\snumbers\sin\sthe\sbtree\slayer.
-D 2020-07-28T20:32:12.478
+C Fix\ssigned/unsigned\scompiler\swarnings.
+D 2020-07-29T12:23:20.348
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -476,10 +476,10 @@ F src/auth.c a3d5bfdba83d25abed1013a8c7a5f204e2e29b0c25242a56bc02bb0c07bf1e06
 F src/backup.c b1c90cd4110248c8e1273ff4578d3a84c0c34725e1b96dacd4a6294a908702de
 F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
 F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
-F src/btree.c 398b6a2ec3224533beab389b3db12da7bda726805ce362130fbe08c74ce0599c
+F src/btree.c e047029ffa66e96c054906e61cbc78d840eca8c0f4fe0022862911c2d742921a
 F src/btree.h 7af72bbb4863c331c8f6753277ab40ee67d2a2125a63256d5c25489722ec162b
 F src/btreeInt.h 83166f6daeb91062b6ae9ee6247b3ad07e40eba58f3c05ba9e8dedad4ab1ea38
-F src/build.c 1b8436ed3ac339a0507e61b14e4bd823eb02b76a9499b2241fddc61a5ff38c1a
+F src/build.c e3e29c7791a408f7f616f4ea1b2808596014d688094cc048c7c7a93d588a603f
 F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c
 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
 F src/ctime.c e98518d2d3d4029a13c805e07313fb60c877be56db76e90dd5f3af73085d0ce6
@@ -496,7 +496,7 @@ F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19
 F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38
 F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144
 F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
-F src/insert.c c05a7c6f3dbb1a00360b51deac590d4977413078a98334e1650f43223a7d2fc6
+F src/insert.c 8cce522e82d055b936ecec664c0272e38805fa63fa281ab03e97b8e37897a8cb
 F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
 F src/loadext.c 436af4968c6954d304fce9efa12719367bd8f37b19b93b71d6ad607e85adbb47
 F src/main.c 5212b0e3d733ef219ebca6712d84203081ac0b3c5e88ec4183fd2dd55a7ca8de
@@ -605,9 +605,9 @@ F src/trigger.c ef67bde309a831515dc3c2173d792574309f2f42d45f8c078743fae9f7f98c75
 F src/update.c fb15bec5b54fd098f4b84f6abc83c7103b45ba8484011fff8edf5ae31656eab6
 F src/upsert.c 2920de71b20f04fe25eb00b655d086f0ba60ea133c59d7fa3325c49838818e78
 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
-F src/util.c 9ae0b629657ca10abde2f27f5dc3e545cb66d298d111bac062b236a099f8df2d
+F src/util.c 7aa93048926824e96043906ed54fa59176c64aa9d674ff097b00f6d5843990e3
 F src/vacuum.c 1c4f8e2f39d950037f4cf946b6858c993d3a54c3101f78e05c76460a073afcf0
-F src/vdbe.c 120fdb1add80309cf1b4d6cc88b7f4e0580e816ded743a8f495fff9ef35a4e0a
+F src/vdbe.c aeb19f086eb507ac6ba347028fea8265bf8fb66dd9cc2509338693a767612f99
 F src/vdbe.h 83603854bfa5851af601fc0947671eb260f4363e62e960e8a994fb9bbcd2aaa1
 F src/vdbeInt.h 762abffb7709f19c2cb74af1bba73a900f762e64f80d69c31c9ae89ed1066b60
 F src/vdbeapi.c c1a9004ac554d8d48794d2ce5f80397f8e419fd28643a543cc1e004c7713c3ef
@@ -619,7 +619,7 @@ F src/vdbetrace.c fa3bf238002f0bbbdfb66cc8afb0cea284ff9f148d6439bc1f6f2b4c3b7143
 F src/vdbevtab.c ee5b4c902fdda2230f9503ac7b84c6d614c91e8f6f4dc1633e2e8dfef8ffb144
 F src/vtab.c 5f5fc793092f53bbdfde296c50f563fb7bda58cf48e9cf6a8bdfbc5abd409845
 F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
-F src/wal.c 788fc787c608ea9e29a4438f61348b02230dfd538bb0d4ceed704086dc4aec09
+F src/wal.c 093a1fdc83de217d31dae868314b49c324790677bbd99ac0f35c40fa10040749
 F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
 F src/walker.c 3df26a33dc4f54e8771600fb7fdebe1ece0896c2ad68c30ab40b017aa4395049
 F src/where.c 2ea911238674e9baaeddf105dddabed92692a01996073c4d4983f9a7efe481f9
@@ -1879,7 +1879,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 969c25bb14fbd99ca8523abf0ae78a75a3dde539e3323d105690aef4940041eb
-R 5e98c4cb6c9b78a3e5d40725f8973216
+P 805bb67a82be51dc6077480691ed815c63a37bd8fc00cf7e67e020349c6e322e
+R 04d29aa0ebddb0a89a6241304b40c2fa
 U drh
-Z 4cd38b7003d2f733da13812745e0abc4
+Z d770f10134cafeb266d89cfa6d12ba0d
index fa506eb0ddf816ba0095e8ee3cd609978445d7c5..367542ce0638c70dd08275873fba1c22ff23c591 100644 (file)
@@ -1 +1 @@
-805bb67a82be51dc6077480691ed815c63a37bd8fc00cf7e67e020349c6e322e
\ No newline at end of file
+1d69eee8b085d514f442840346f001b4785f8ec64f5ba66943e9577b26e2e29c
\ No newline at end of file
index af542f09e53305ec9d2b284195a2d8dce8f12295..bfe554ff86badcab274df3d8432734f9e534b081 100644 (file)
@@ -10150,9 +10150,9 @@ char *sqlite3BtreeIntegrityCheck(
   BtShared *pBt = p->pBt;
   u64 savedDbFlags = pBt->db->flags;
   char zErr[100];
-  VVA_ONLY( int nRef );
   int bPartial = 0;            /* True if not checking all btrees */
   int bCkFreelist = 1;         /* True to scan the freelist */
+  VVA_ONLY( int nRef );
   assert( nRoot>0 );
 
   /* aRoot[0]==0 means this is a partial check */
index 65771a71fffd36e17e53315d6200ee76876731a5..97e9909e034455a0bd249c7dd3718aa36338071c 100644 (file)
@@ -2889,11 +2889,11 @@ static void destroyTable(Parse *pParse, Table *pTab){
   ** a free-list page.
   */
   Pgno iTab = pTab->tnum;
-  int iDestroyed = 0;
+  Pgno iDestroyed = 0;
 
   while( 1 ){
     Index *pIdx;
-    int iLargest = 0;
+    Pgno iLargest = 0;
 
     if( iDestroyed==0 || iTab<iDestroyed ){
       iLargest = iTab;
index dadc8be3eaabd3db09a8794c0c83889c761be360..00b9b919436b0cf634002cd53ffb954b1afea889 100644 (file)
@@ -180,7 +180,7 @@ static int readsTable(Parse *p, int iDb, Table *pTab){
     assert( pOp!=0 );
     if( pOp->opcode==OP_OpenRead && pOp->p3==iDb ){
       Index *pIndex;
-      int tnum = pOp->p2;
+      Pgno tnum = pOp->p2;
       if( tnum==pTab->tnum ){
         return 1;
       }
index 64ab4e95dca3524d90e069373b517362bc38413e..8fbbcfd16d24c0ab0e43eeacf4e966d41a54a791 100644 (file)
@@ -605,7 +605,7 @@ void sqlite3Int64ToText(i64 v, char *zOut){
   u64 x;
   char zTemp[22];
   if( v<0 ){
-    x = (v==SMALLEST_INT64) ? ((u64)1)<<63 : -v;
+    x = (v==SMALLEST_INT64) ? ((u64)1)<<63 : (u64)-v;
   }else{
     x = v;
   }
index 5134da4b376762afffea2833dd2fb2bfd512bd45..2f156552b0424058513e7feb9cabfa9d3b74b8b6 100644 (file)
@@ -2282,7 +2282,7 @@ case OP_Compare: {
   }
 #endif /* SQLITE_DEBUG */
   for(i=0; i<n; i++){
-    idx = aPermute ? aPermute[i] : i;
+    idx = aPermute ? aPermute[i] : (u32)i;
     assert( memIsValid(&aMem[p1+idx]) );
     assert( memIsValid(&aMem[p2+idx]) );
     REGISTER_TRACE(p1+idx, &aMem[p1+idx]);
@@ -2738,7 +2738,7 @@ case OP_Column: {
           offset64 += sqlite3VdbeSerialTypeLen(t);
         }
         aOffset[++i] = (u32)(offset64 & 0xffffffff);
-      }while( i<=p2 && zHdr<zEndHdr );
+      }while( (u32)i<=p2 && zHdr<zEndHdr );
 
       /* The record is corrupt if any of the following are true:
       ** (1) the bytes of the header extend past the declared header size
index 0b3250ffaad83f2b0773710d9015879c1e3b8696..0f1e02d767d4bb15961739af27afe77faba02d65 100644 (file)
--- a/src/wal.c
+++ b/src/wal.c
@@ -508,7 +508,7 @@ typedef u16 ht_slot;
 ** This functionality is used by the checkpoint code (see walCheckpoint()).
 */
 struct WalIterator {
-  int iPrior;                     /* Last result returned from the iterator */
+  u32 iPrior;                     /* Last result returned from the iterator */
   int nSegment;                   /* Number of entries in aSegment[] */
   struct WalSegment {
     int iNext;                    /* Next slot in aIndex[] not yet returned */
@@ -967,6 +967,7 @@ static int walFramePage(u32 iFrame){
        && (iHash>=2 || iFrame<=HASHTABLE_NPAGE_ONE+HASHTABLE_NPAGE)
        && (iHash<=2 || iFrame>(HASHTABLE_NPAGE_ONE+2*HASHTABLE_NPAGE))
   );
+  assert( iHash>=0 );
   return iHash;
 }
 
@@ -1186,8 +1187,8 @@ static int walIndexRecover(Wal *pWal){
     u32 magic;                    /* Magic value read from WAL header */
     u32 version;                  /* Magic value read from WAL header */
     int isValid;                  /* True if this frame is valid */
-    int iPg;                      /* Current 32KB wal-index page */
-    int iLastFrame;               /* Last frame in wal, based on nSize alone */
+    u32 iPg;                      /* Current 32KB wal-index page */
+    u32 iLastFrame;               /* Last frame in wal, based on nSize alone */
 
     /* Read in the WAL header. */
     rc = sqlite3OsRead(pWal->pWalFd, aBuf, WAL_HDRSIZE, 0);
@@ -1244,12 +1245,12 @@ static int walIndexRecover(Wal *pWal){
 
     /* Read all frames from the log file. */
     iLastFrame = (nSize - WAL_HDRSIZE) / szFrame;
-    for(iPg=0; iPg<=walFramePage(iLastFrame); iPg++){
+    for(iPg=0; iPg<=(u32)walFramePage(iLastFrame); iPg++){
       u32 *aShare;
-      int iFrame;                 /* Index of last frame read */
-      int iLast = MIN(iLastFrame, HASHTABLE_NPAGE_ONE+iPg*HASHTABLE_NPAGE);
-      int iFirst = 1 + (iPg==0?0:HASHTABLE_NPAGE_ONE+(iPg-1)*HASHTABLE_NPAGE);
-      int nHdr, nHdr32;
+      u32 iFrame;                 /* Index of last frame read */
+      u32 iLast = MIN(iLastFrame, HASHTABLE_NPAGE_ONE+iPg*HASHTABLE_NPAGE);
+      u32 iFirst = 1 + (iPg==0?0:HASHTABLE_NPAGE_ONE+(iPg-1)*HASHTABLE_NPAGE);
+      u32 nHdr, nHdr32;
       rc = walIndexPage(pWal, iPg, (volatile u32**)&aShare);
       if( rc ) break;
       pWal->apWiData[iPg] = aPrivate;