On 10/31/05, Fred Williams <[EMAIL PROTECTED]> wrote: > Look I'm certain you mean well, but the rest of us are pretty busy using > one of the best small footprint databases on the planet. That means we > are way too busy to nit-pic a good product to pieces, just because it > won't compile clean using Mickeysoft's latest and greatest.
If you forget about "Mickeysoft's latest and greatest" and only consider GNU C compiler will that make you change your mind? gcc 3.3 and 3.4 compile without warnings, but 4.0 is a lot more picky even without -Wall. For people like me that always enable all warnings, it makes it a must to compile sqlite as a library, because it's a nightmare to use it "embebed". I still love sqlite, it's just a feature request, nothing more, nothing less. As an example, I downloaded the preprocessed code, removed tclsqlite.c, and: [EMAIL PROTECTED]:~/src/sqlite$ gcc-4.0 *.c alter.c: In function 'renameTableFunc': alter.c:50: warning: pointer targets in initialization differ in signedness alter.c:61: warning: pointer targets in assignment differ in signedness alter.c:69: warning: pointer targets in passing argument 1 of 'sqlite3GetToken' differ in signedness alter.c: In function 'renameTriggerFunc': alter.c:99: warning: pointer targets in initialization differ in signedness alter.c:111: warning: pointer targets in assignment differ in signedness alter.c:119: warning: pointer targets in passing argument 1 of 'sqlite3GetToken' differ in signedness alter.c: In function 'sqlite3AlterFinishAddColumn': alter.c:445: warning: pointer targets in passing argument 1 of 'sqlite3StrNDup' differ in signedness btree.c: In function 'unlockBtreeIfUnused': btree.c:1537: warning: pointer targets in assignment differ in signedness build.c: In function 'sqlite3NameFromToken': build.c:509: warning: pointer targets in passing argument 1 of 'sqlite3StrNDup' differ in signedness build.c: In function 'identPut': build.c:1173: warning: pointer targets in passing argument 1 of 'sqlite3KeywordCode' differ in signedness build.c: In function 'sqlite3CreateIndex': build.c:2160: warning: pointer targets in assignment differ in signedness build.c:2161: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness build.c: In function 'sqlite3Reindex': build.c:2913: warning: pointer targets in passing argument 3 of 'sqlite3FindCollSeq' differ in signedness date.c: In function 'isDate': date.c:642: warning: pointer targets in passing argument 1 of 'parseDateOrTime' differ in signedness date.c:645: warning: pointer targets in passing argument 1 of 'parseModifier' differ in signedness date.c: In function 'strftimeFunc': date.c:758: warning: pointer targets in initialization differ in signedness expr.c: In function 'sqlite3RegisterExpr': expr.c:238: warning: pointer targets in passing argument 1 of 'atoi' differ in signedness expr.c: In function 'sqlite3ExprAssignVarNumber': expr.c:330: warning: pointer targets in passing argument 1 of 'atoi' differ in signedness expr.c: In function 'sqlite3ExprDup': expr.c:418: warning: pointer targets in passing argument 1 of 'sqlite3StrNDup' differ in signedness expr.c:418: warning: pointer targets in assignment differ in signedness expr.c: In function 'sqlite3TokenCopy': expr.c:435: warning: pointer targets in passing argument 1 of 'sqlite3StrNDup' differ in signedness expr.c:435: warning: pointer targets in assignment differ in signedness expr.c: In function 'sqlite3ExprIsInteger': expr.c:755: warning: pointer targets in passing argument 1 of 'sqlite3GetInt32' differ in signedness expr.c: In function 'nameResolverStep': expr.c:1154: warning: pointer targets in assignment differ in signedness expr.c: In function 'sqlite3CodeSubselect': expr.c:1401: warning: pointer targets in initialization differ in signedness expr.c: In function 'sqlite3ExprCode': expr.c:1477: warning: pointer targets in passing argument 2 of 'codeInteger' differ in signedness expr.c:1485: warning: pointer targets in passing argument 5 of 'sqlite3VdbeOp3' differ in signedness expr.c:1498: warning: pointer targets in assignment differ in signedness expr.c:1510: warning: pointer targets in passing argument 3 of 'sqlite3VdbeChangeP3' differ in signedness expr.c:1632: warning: pointer targets in assignment differ in signedness expr.c:1766: warning: pointer targets in passing argument 5 of 'sqlite3VdbeOp3' differ in signedness expr.c: In function 'sqlite3ExprCompare': expr.c:2059: warning: pointer targets in passing argument 1 of 'sqlite3StrNICmp' differ in signedness expr.c:2059: warning: pointer targets in passing argument 2 of 'sqlite3StrNICmp' differ in signedness expr.c: In function 'analyzeAggregate': expr.c:2191: warning: pointer targets in passing argument 2 of 'sqlite3FindFunction' differ in signedness func.c: In function 'lengthFunc': func.c:104: warning: pointer targets in initialization differ in signedness func.c: In function 'substrFunc': func.c:155: warning: pointer targets in assignment differ in signedness func.c: In function 'upperFunc': func.c:213: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness func.c:213: warning: pointer targets in passing argument 2 of 'strcpy' differ in signedness func.c:217: warning: pointer targets in passing argument 2 of 'sqlite3_result_text' differ in signedness func.c: In function 'lowerFunc': func.c:226: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness func.c:226: warning: pointer targets in passing argument 2 of 'strcpy' differ in signedness func.c:230: warning: pointer targets in passing argument 2 of 'sqlite3_result_text' differ in signedness func.c: In function 'likeFunc': func.c:498: warning: pointer targets in passing argument 1 of 'sqlite3utf8CharLen' differ in signedness func.c: In function 'quoteFunc': func.c:595: warning: pointer targets in initialization differ in signedness func.c: In function 'sqlite3IsLikeFunction': func.c:1103: warning: pointer targets in passing argument 2 of 'sqlite3FindFunction' differ in signedness main.c: In function 'sqlite3_errmsg': main.c:644: warning: pointer targets in assignment differ in signedness pager.c: In function 'pager_playback_one_page': pager.c:1012: warning: pointer targets in passing argument 3 of 'pager_cksum' differ in signedness parse.y: In function 'yy_reduce': parse.y:241: warning: pointer targets in passing argument 1 of 'atoi' differ in signedness parse.y:242: warning: pointer targets in passing argument 1 of 'atoi' differ in signedness parse.y:275: warning: pointer targets in passing argument 2 of 'sqlite3AddCollateType' differ in signedness parse.y:885: warning: pointer targets in passing argument 2 of 'sqlite3LocateCollSeq' differ in signedness parse.y:893: warning: pointer targets in passing argument 2 of 'sqlite3LocateCollSeq' differ in signedness pragma.c: In function 'getSafetyLevel': pragma.c:47: warning: pointer targets in passing argument 1 of 'atoi' differ in signedness pragma.c:49: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness pragma.c:51: warning: pointer targets in passing argument 2 of 'sqlite3StrNICmp' differ in signedness pragma.c: In function 'flagPragma': pragma.c:169: warning: pointer targets in passing argument 1 of 'getBoolean' differ in signedness pragma.c: In function 'sqlite3Pragma': pragma.c:322: warning: pointer targets in passing argument 1 of 'getBoolean' differ in signedness pragma.c:430: warning: pointer targets in passing argument 1 of 'getSafetyLevel' differ in signedness pragma.c:621: warning: pointer targets in passing argument 1 of 'getBoolean' differ in signedness printf.c: In function 'vxprintf': printf.c:628: warning: pointer targets in passing argument 2 of 'func' differ in signedness select.c: In function 'sqlite3JoinType': select.c:112: warning: pointer targets in passing argument 1 of 'sqlite3StrNICmp' differ in signedness select.c: In function 'setToken': select.c:157: warning: pointer targets in assignment differ in signedness select.c: In function 'keyInfoFromExprList': select.c:625: warning: pointer targets in assignment differ in signedness select.c: In function 'generateColumnNames': select.c:869: warning: pointer targets in passing argument 3 of 'sqlite3VdbeSetColName' differ in signedness select.c:882: warning: pointer targets in passing argument 3 of 'sqlite3VdbeSetColName' differ in signedness select.c: In function 'flattenSubquery': select.c:2088: warning: pointer targets in passing argument 1 of 'sqlite3StrNDup' differ in signedness select.c: In function 'simpleMinMaxQuery': select.c:2187: warning: pointer targets in passing argument 1 of 'sqlite3StrNICmp' differ in signedness select.c:2189: warning: pointer targets in passing argument 1 of 'sqlite3StrNICmp' differ in signedness shell.c: In function 'output_csv': shell.c:355: warning: pointer targets in passing argument 1 of 'isNumber' differ in signedness shell.c: In function 'callback': shell.c:523: warning: pointer targets in passing argument 1 of 'isNumber' differ in signedness shell.c: In function 'dump_callback': shell.c:694: warning: pointer targets in passing argument 2 of 'appendText' differ in signedness tokenize.c: In function 'sqlite3RunParser': tokenize.c:360: warning: pointer targets in assignment differ in signedness trigger.c: In function 'sqlite3FinishTrigger': trigger.c:240: warning: pointer targets in passing argument 3 of 'sqlite3VdbeChangeP3' differ in signedness trigger.c: In function 'sqlitePersistTriggerStep': trigger.c:281: warning: pointer targets in passing argument 1 of 'sqlite3StrNDup' differ in signedness trigger.c:281: warning: pointer targets in assignment differ in signedness trigger.c: In function 'targetSrcList': trigger.c:623: warning: pointer targets in assignment differ in signedness trigger.c:624: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness utf.c: In function 'sqlite3VdbeMemTranslate': utf.c:275: warning: pointer targets in assignment differ in signedness utf.c:311: warning: pointer targets in assignment differ in signedness utf.c:363: warning: pointer targets in assignment differ in signedness utf.c:368: warning: pointer targets in assignment differ in signedness vacuum.c: In function 'execExecSql': vacuum.c:61: warning: pointer targets in passing argument 2 of 'execSql' differ in signedness vdbeapi.c: In function 'sqlite3_value_text': vdbeapi.c:61: warning: pointer targets in return differ in signedness vdbeaux.c: In function 'sqlite3VdbeIdxRowid': vdbeaux.c:1735: warning: pointer targets in passing argument 1 of 'sqlite3GetVarint32' differ in signedness vdbeaux.c:1736: warning: pointer targets in passing argument 1 of 'sqlite3GetVarint32' differ in signedness vdbeaux.c:1738: warning: pointer targets in passing argument 1 of 'sqlite3VdbeSerialGet' differ in signedness vdbeaux.c: In function 'sqlite3VdbeIdxKeyCompare': vdbeaux.c:1774: warning: pointer targets in passing argument 2 of 'sqlite3VdbeIdxRowidLen' differ in signedness vdbe.c: In function 'sqlite3VdbeExec': vdbe.c:1873: warning: pointer targets in assignment differ in signedness vdbe.c:1940: warning: pointer targets in assignment differ in signedness vdbe.c:1940: warning: pointer targets in assignment differ in signedness vdbe.c:1945: warning: pointer targets in passing argument 1 of 'sqlite3GetVarint32' differ in signedness vdbe.c:1972: warning: pointer targets in passing argument 1 of 'sqlite3GetVarint32' differ in signedness vdbe.c:2026: warning: pointer targets in passing argument 1 of 'sqlite3VdbeSerialGet' differ in signedness vdbe.c:2189: warning: pointer targets in assignment differ in signedness vdbe.c:2223: warning: pointer targets in assignment differ in signedness vdbe.c:2920: warning: pointer targets in passing argument 2 of 'sqlite3VdbeIdxRowidLen' differ in signedness vdbe.c:2937: warning: pointer targets in passing argument 3 of 'sqlite3VdbeIdxKeyCompare' differ in signedness vdbe.c:3710: warning: pointer targets in passing argument 3 of 'sqlite3VdbeIdxKeyCompare' differ in signedness vdbe.c:3748: warning: pointer targets in passing argument 1 of 'sqlite3GetVarint32' differ in signedness vdbe.c:3750: warning: pointer targets in passing argument 1 of 'sqlite3GetVarint32' differ in signedness vdbemem.c: In function 'sqlite3VdbeMemDynamicify': vdbemem.c:76: warning: pointer targets in assignment differ in signedness vdbemem.c: In function 'sqlite3VdbeMemMakeWriteable': vdbemem.c:96: warning: pointer targets in assignment differ in signedness vdbemem.c:109: warning: pointer targets in assignment differ in signedness vdbemem.c: In function 'sqlite3VdbeMemStringify': vdbemem.c:165: warning: pointer targets in initialization differ in signedness vdbemem.c:177: warning: pointer targets in passing argument 2 of 'sqlite3_snprintf' differ in signedness vdbemem.c:180: warning: pointer targets in passing argument 2 of 'sqlite3_snprintf' differ in signedness vdbemem.c:182: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness vdbemem.c:183: warning: pointer targets in assignment differ in signedness vdbemem.c: In function 'sqlite3ValueFromExpr': vdbemem.c:769: warning: pointer targets in passing argument 1 of 'sqlite3StrNDup' differ in signedness vdbemem.c:789: warning: pointer targets in passing argument 1 of 'sqlite3StrNDup' differ in signedness where.c: In function 'isLikeOrGlob': where.c:514: warning: pointer targets in assignment differ in signedness