| Index: third_party/sqlite/src/src/test_journal.c | 
| diff --git a/third_party/sqlite/src/src/test_journal.c b/third_party/sqlite/src/src/test_journal.c | 
| index ca4c5c38844b96381a6b1d26cb1567eb7b7b9e55..e8701a4eeadb8ead169d6006407d54a898592d70 100644 | 
| --- a/third_party/sqlite/src/src/test_journal.c | 
| +++ b/third_party/sqlite/src/src/test_journal.c | 
| @@ -14,13 +14,7 @@ | 
| ** an existing VFS. The code in this file attempts to verify that SQLite | 
| ** correctly populates and syncs a journal file before writing to a | 
| ** corresponding database file. | 
| -*/ | 
| -#if SQLITE_TEST          /* This file is used for testing only */ | 
| - | 
| -#include "sqlite3.h" | 
| -#include "sqliteInt.h" | 
| - | 
| -/* | 
| +** | 
| ** INTERFACE | 
| ** | 
| **   The public interface to this wrapper VFS is two functions: | 
| @@ -99,6 +93,10 @@ | 
| ** | 
| **     c) The journal file is deleted using xDelete. | 
| */ | 
| +#if SQLITE_TEST          /* This file is used for testing only */ | 
| + | 
| +#include "sqlite3.h" | 
| +#include "sqliteInt.h" | 
|  | 
| /* | 
| ** Maximum pathname length supported by the jt backend. | 
| @@ -292,9 +290,9 @@ static jt_file *locateDatabaseHandle(const char *zJournal){ | 
| jt_file *pMain = 0; | 
| enterJtMutex(); | 
| for(pMain=g.pList; pMain; pMain=pMain->pNext){ | 
| -    int nName = strlen(zJournal) - strlen("-journal"); | 
| +    int nName = (int)(strlen(zJournal) - strlen("-journal")); | 
| if( (pMain->flags&SQLITE_OPEN_MAIN_DB) | 
| -     && (strlen(pMain->zName)==nName) | 
| +     && ((int)strlen(pMain->zName)==nName) | 
| && 0==memcmp(pMain->zName, zJournal, nName) | 
| && (pMain->eLock>=SQLITE_LOCK_RESERVED) | 
| ){ | 
| @@ -393,7 +391,7 @@ static int openTransaction(jt_file *pMain, jt_file *pJournal){ | 
| while( rc==SQLITE_OK && iTrunk>0 ){ | 
| u32 nLeaf; | 
| u32 iLeaf; | 
| -      sqlite3_int64 iOff = (iTrunk-1)*pMain->nPagesize; | 
| +      sqlite3_int64 iOff = (i64)(iTrunk-1)*pMain->nPagesize; | 
| rc = sqlite3OsRead(p, aData, pMain->nPagesize, iOff); | 
| nLeaf = decodeUint32(&aData[4]); | 
| for(iLeaf=0; rc==SQLITE_OK && iLeaf<nLeaf; iLeaf++){ | 
| @@ -406,11 +404,12 @@ static int openTransaction(jt_file *pMain, jt_file *pJournal){ | 
| /* Calculate and store a checksum for each page in the database file. */ | 
| if( rc==SQLITE_OK ){ | 
| int ii; | 
| -      for(ii=0; rc==SQLITE_OK && ii<pMain->nPage; ii++){ | 
| +      for(ii=0; rc==SQLITE_OK && ii<(int)pMain->nPage; ii++){ | 
| i64 iOff = (i64)(pMain->nPagesize) * (i64)ii; | 
| if( iOff==PENDING_BYTE ) continue; | 
| rc = sqlite3OsRead(pMain->pReal, aData, pMain->nPagesize, iOff); | 
| pMain->aCksum[ii] = genCksum(aData, pMain->nPagesize); | 
| +        if( ii+1==pMain->nPage && rc==SQLITE_IOERR_SHORT_READ ) rc = SQLITE_OK; | 
| } | 
| } | 
|  | 
| @@ -467,7 +466,7 @@ static int readJournalFile(jt_file *p, jt_file *pMain){ | 
| continue; | 
| } | 
| } | 
| -      nRec = (iSize-iOff) / (pMain->nPagesize+8); | 
| +      nRec = (u32)((iSize-iOff) / (pMain->nPagesize+8)); | 
| } | 
|  | 
| /* Read all the records that follow the journal-header just read. */ | 
| @@ -539,7 +538,7 @@ static int jtWrite( | 
| } | 
|  | 
| if( p->flags&SQLITE_OPEN_MAIN_DB && p->pWritable ){ | 
| -    if( iAmt<p->nPagesize | 
| +    if( iAmt<(int)p->nPagesize | 
| && p->nPagesize%iAmt==0 | 
| && iOfst>=(PENDING_BYTE+512) | 
| && iOfst+iAmt<=PENDING_BYTE+p->nPagesize | 
| @@ -550,7 +549,7 @@ static int jtWrite( | 
| ** pending-byte page. | 
| */ | 
| }else{ | 
| -      u32 pgno = iOfst/p->nPagesize + 1; | 
| +      u32 pgno = (u32)(iOfst/p->nPagesize + 1); | 
| assert( (iAmt==1||iAmt==p->nPagesize) && ((iOfst+iAmt)%p->nPagesize)==0 ); | 
| assert( pgno<=p->nPage || p->nSync>0 ); | 
| assert( pgno>p->nPage || sqlite3BitvecTest(p->pWritable, pgno) ); | 
| @@ -579,7 +578,7 @@ static int jtTruncate(sqlite3_file *pFile, sqlite_int64 size){ | 
| if( p->flags&SQLITE_OPEN_MAIN_DB && p->pWritable ){ | 
| u32 pgno; | 
| u32 locking_page = (u32)(PENDING_BYTE/p->nPagesize+1); | 
| -    for(pgno=size/p->nPagesize+1; pgno<=p->nPage; pgno++){ | 
| +    for(pgno=(u32)(size/p->nPagesize+1); pgno<=p->nPage; pgno++){ | 
| assert( pgno==locking_page || sqlite3BitvecTest(p->pWritable, pgno) ); | 
| } | 
| } | 
| @@ -664,7 +663,7 @@ static int jtCheckReservedLock(sqlite3_file *pFile, int *pResOut){ | 
| */ | 
| static int jtFileControl(sqlite3_file *pFile, int op, void *pArg){ | 
| jt_file *p = (jt_file *)pFile; | 
| -  return sqlite3OsFileControl(p->pReal, op, pArg); | 
| +  return p->pReal->pMethods->xFileControl(p->pReal, op, pArg); | 
| } | 
|  | 
| /* | 
| @@ -724,7 +723,7 @@ static int jtOpen( | 
| ** returning. | 
| */ | 
| static int jtDelete(sqlite3_vfs *pVfs, const char *zPath, int dirSync){ | 
| -  int nPath = strlen(zPath); | 
| +  int nPath = (int)strlen(zPath); | 
| if( nPath>8 && 0==strcmp("-journal", &zPath[nPath-8]) ){ | 
| /* Deleting a journal file. The end of a transaction. */ | 
| jt_file *pMain = locateDatabaseHandle(zPath); | 
|  |