From: drh Date: Mon, 18 Nov 2013 11:20:50 +0000 (+0000) Subject: Fix harmless compiler warnings from clang scan-build. X-Git-Tag: version-3.8.2~79 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2bea7cde6e5671d0220c10e0ed60d514e8413f6c;p=thirdparty%2Fsqlite.git Fix harmless compiler warnings from clang scan-build. FossilOrigin-Name: 8d002740bffca2a76d2dfbc1a67293d34f9de9ba --- diff --git a/ext/fts3/fts3.c b/ext/fts3/fts3.c index 1719bac7d1..4850893346 100644 --- a/ext/fts3/fts3.c +++ b/ext/fts3/fts3.c @@ -333,6 +333,9 @@ int sqlite3Fts3PutVarint(char *p, sqlite_int64 v){ #define GETVARINT_STEP(v, ptr, shift, mask1, mask2, var, ret) \ v = (v & mask1) | ( (*ptr++) << shift ); \ if( (v & mask2)==0 ){ var = v; return ret; } +#define GETVARINT_INIT(v, ptr, shift, mask1, mask2, var, ret) \ + v = (*ptr++); \ + if( (v & mask2)==0 ){ var = v; return ret; } /* ** Read a 64-bit variable-length integer from memory starting at p[0]. @@ -345,7 +348,7 @@ int sqlite3Fts3GetVarint(const char *p, sqlite_int64 *v){ u64 b; int shift; - GETVARINT_STEP(a, p, 0, 0x00, 0x80, *v, 1); + GETVARINT_INIT(a, p, 0, 0x00, 0x80, *v, 1); GETVARINT_STEP(a, p, 7, 0x7F, 0x4000, *v, 2); GETVARINT_STEP(a, p, 14, 0x3FFF, 0x200000, *v, 3); GETVARINT_STEP(a, p, 21, 0x1FFFFF, 0x10000000, *v, 4); @@ -368,7 +371,7 @@ int sqlite3Fts3GetVarint32(const char *p, int *pi){ u32 a; #ifndef fts3GetVarint32 - GETVARINT_STEP(a, p, 0, 0x00, 0x80, *pi, 1); + GETVARINT_INIT(a, p, 0, 0x00, 0x80, *pi, 1); #else a = (*p++); assert( a & 0x80 ); diff --git a/manifest b/manifest index affb135257..4e0353f3ad 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sproblem\swith\sthe\sshell\stool\sEXPLAIN\sindentation\scode\sand\sVDBE\ssub-programs. -D 2013-11-18T08:41:06.910 +C Fix\sharmless\scompiler\swarnings\sfrom\sclang\sscan-build. +D 2013-11-18T11:20:50.241 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 8a07bebafbfda0eb67728f4bd15a36201662d1a1 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -78,7 +78,7 @@ F ext/fts3/README.content fdc666a70d5257a64fee209f97cf89e0e6e32b51 F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a F ext/fts3/README.tokenizers e0a8b81383ea60d0334d274fadf305ea14a8c314 F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d -F ext/fts3/fts3.c dceaa5079833caa2e7945433e1eb93bb22f623a3 +F ext/fts3/fts3.c 3ae281c073c91a10bb42787426499d03df295b7a F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe F ext/fts3/fts3Int.h eb5f8029589f3d8f1dc7fd50c773326a640388b1 F ext/fts3/fts3_aux.c 5c211e17a64885faeb16b9ba7772f9d5445c2365 @@ -177,7 +177,7 @@ F src/date.c 593c744b2623971e45affd0bde347631bdfa4625 F src/delete.c 909936019ccb8d0f4a10d0d10ad607c38ee62cbe F src/expr.c 1a295d8b0a2ba08919ad9300ebf7b67988ff4030 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb -F src/fkey.c 78364daed38e26269c53ddb94c515bceac1063c6 +F src/fkey.c 2ab0f5384b70594468ef3ac5c7ed8ca24bfd17d5 F src/func.c 96caa9dfd1febf9a4b720de4c43ccfb392a52b73 F src/global.c 5caf4deab621abb45b4c607aad1bd21c20aac759 F src/hash.c ac3470bbf1ca4ae4e306a8ecb0fdf1731810ffe4 @@ -1140,7 +1140,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 44a07afdd9b3ae2460bc963383295deb0915f899 -R fd745146c0298a78435ee62db781f33d -U dan -Z ccddbfb4ee4200a6ab72b0a768e815b9 +P 9c8d6856253f8da06b2cb5dc6bd89b6952fa03ed +R c9f2a197b3482dc9e1f22f87445d00db +U drh +Z 2979703407de49dd5b579d61d89bb322 diff --git a/manifest.uuid b/manifest.uuid index 243e76568d..90b13ca154 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -9c8d6856253f8da06b2cb5dc6bd89b6952fa03ed \ No newline at end of file +8d002740bffca2a76d2dfbc1a67293d34f9de9ba \ No newline at end of file diff --git a/src/fkey.c b/src/fkey.c index 1cb6cb0d42..46c90a0989 100644 --- a/src/fkey.c +++ b/src/fkey.c @@ -548,6 +548,7 @@ static void fkScanChildren( assert( pIdx==0 || pIdx->pTable==pTab ); assert( pIdx==0 || pIdx->nKeyCol==pFKey->nCol ); assert( pIdx!=0 || pFKey->nCol==1 ); + assert( pIdx!=0 || HasRowid(pTab) ); if( nIncr<0 ){ iFkIfZero = sqlite3VdbeAddOp2(v, OP_FkIfZero, pFKey->isDeferred, 0); @@ -600,6 +601,7 @@ static void fkScanChildren( }else{ Expr *pEq, *pAll = 0; Index *pPk = sqlite3PrimaryKeyIndex(pTab); + assert( pIdx!=0 ); for(i=0; inKeyCol; i++){ i16 iCol = pIdx->aiColumn[i]; pLeft = exprTableRegister(pParse, pTab, regData, iCol);