mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958)
FossilOrigin-Name: e9f56ead0514f3eac75807ea710c1f035b8add4f
This commit is contained in:
38
manifest
38
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Update\sthe\srelease\sbuilder\sscript.\s(CVS\s3957)
|
C Fix\sthe\samalgamation\sgenerator\sso\sthat\sall\snon-API\sfunctions\shave\sfile\sscope.\s(CVS\s3958)
|
||||||
D 2007-05-08T18:30:36
|
D 2007-05-08T20:37:39
|
||||||
F Makefile.in 87b200ad9970907f76df734d29dff3d294c10935
|
F Makefile.in 87b200ad9970907f76df734d29dff3d294c10935
|
||||||
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
|
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
|
||||||
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
||||||
@@ -64,21 +64,21 @@ F src/auth.c 902f4722661c796b97f007d9606bd7529c02597f
|
|||||||
F src/btree.c dca996d45f1b8a87c86d0ec22a7ef6ca8c1ab805
|
F src/btree.c dca996d45f1b8a87c86d0ec22a7ef6ca8c1ab805
|
||||||
F src/btree.h 8444af0c82c0e878b5ce8a6eb345904830e678a5
|
F src/btree.h 8444af0c82c0e878b5ce8a6eb345904830e678a5
|
||||||
F src/btreeInt.h cb3c0e9eb842d06079a62cdf3492c90c5db7ba75
|
F src/btreeInt.h cb3c0e9eb842d06079a62cdf3492c90c5db7ba75
|
||||||
F src/build.c 5a60e2e4a21fa8cbdf9e01a95e6d5ca44ff4a2b9
|
F src/build.c 83ae5b1f806e7abe323e9c6d32c9e80a5bab1ad7
|
||||||
F src/callback.c 9c12535669a638f90a67e10440b99c7b93c0fbf4
|
F src/callback.c 9c12535669a638f90a67e10440b99c7b93c0fbf4
|
||||||
F src/complete.c 7d1a44be8f37de125fcafd3d3a018690b3799675
|
F src/complete.c 7d1a44be8f37de125fcafd3d3a018690b3799675
|
||||||
F src/date.c 263ef5b81b4ffdd80e8a830645798967bbbcfd05
|
F src/date.c 263ef5b81b4ffdd80e8a830645798967bbbcfd05
|
||||||
F src/delete.c 5c0d89b3ef7d48fe1f5124bfe8341f982747fe29
|
F src/delete.c 5c0d89b3ef7d48fe1f5124bfe8341f982747fe29
|
||||||
F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b
|
F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b
|
||||||
F src/expr.c eb91a54d0c2a3bebfcf91deda95508a188c2ed63
|
F src/expr.c eb91a54d0c2a3bebfcf91deda95508a188c2ed63
|
||||||
F src/func.c 1598afc91529eed0307e9581f852779efbc8d12d
|
F src/func.c 1fccb0372041188f4240350553164704e8aebeb4
|
||||||
F src/hash.c 67b23e14f0257b69a3e8aa663e4eeadc1a2b6fd5
|
F src/hash.c 67b23e14f0257b69a3e8aa663e4eeadc1a2b6fd5
|
||||||
F src/hash.h 1b3f7e2609141fd571f62199fc38687d262e9564
|
F src/hash.h 1b3f7e2609141fd571f62199fc38687d262e9564
|
||||||
F src/insert.c e595ca26805dfb3a9ebaabc28e7947c479f3b14d
|
F src/insert.c e595ca26805dfb3a9ebaabc28e7947c479f3b14d
|
||||||
F src/legacy.c 388c71ad7fbcd898ba1bcbfc98a3ac954bfa5d01
|
F src/legacy.c 388c71ad7fbcd898ba1bcbfc98a3ac954bfa5d01
|
||||||
F src/limits.h 6226e6157ee798b3f19c3fc969a0ae4832393476
|
F src/limits.h 6226e6157ee798b3f19c3fc969a0ae4832393476
|
||||||
F src/loadext.c afe4f4755dc49c36ef505748bbdddecb9f1d02a2
|
F src/loadext.c afe4f4755dc49c36ef505748bbdddecb9f1d02a2
|
||||||
F src/main.c 35b340716319e88817493172aa63abe8be13b543
|
F src/main.c 797dc983716c1480f6af78a36be3add8806211a1
|
||||||
F src/malloc.c b89e31258a85158d15795bf87ae3ba007e56329b
|
F src/malloc.c b89e31258a85158d15795bf87ae3ba007e56329b
|
||||||
F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217
|
F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217
|
||||||
F src/os.c 4650e98aadd27abfe1698ff58edf6893c58d4881
|
F src/os.c 4650e98aadd27abfe1698ff58edf6893c58d4881
|
||||||
@@ -96,7 +96,7 @@ F src/pager.c c5b32e741fb73930b6ec3d886ea680a3de3be5f7
|
|||||||
F src/pager.h db31691786504625e7e25c8cde4f40779ba209d9
|
F src/pager.h db31691786504625e7e25c8cde4f40779ba209d9
|
||||||
F src/parse.y fe7efcbf0ef1727cb2c08c1a10869b4ac9d5e71d
|
F src/parse.y fe7efcbf0ef1727cb2c08c1a10869b4ac9d5e71d
|
||||||
F src/pragma.c b881b457170d4922893f59b1caaac98f8e4192e2
|
F src/pragma.c b881b457170d4922893f59b1caaac98f8e4192e2
|
||||||
F src/prepare.c c932f4398c3bf66fa366ad676c6f7e8ac5eaf7f6
|
F src/prepare.c 87c23644986b5e41a58bc76f05abebd899e00089
|
||||||
F src/printf.c 67de0dcb40ef3297f4a047b434b81585c0f7062d
|
F src/printf.c 67de0dcb40ef3297f4a047b434b81585c0f7062d
|
||||||
F src/random.c 6119474a6f6917f708c1dee25b9a8e519a620e88
|
F src/random.c 6119474a6f6917f708c1dee25b9a8e519a620e88
|
||||||
F src/select.c 114e7ebaa2e41d83687f0c7c5f53daa7e7af8d3a
|
F src/select.c 114e7ebaa2e41d83687f0c7c5f53daa7e7af8d3a
|
||||||
@@ -104,14 +104,14 @@ F src/server.c 087b92a39d883e3fa113cae259d64e4c7438bc96
|
|||||||
F src/shell.c d07ae326b3815d80f71c69b3c7584382e47f6447
|
F src/shell.c d07ae326b3815d80f71c69b3c7584382e47f6447
|
||||||
F src/sqlite.h.in 664b8702c27dc742584788823c548491ac8935d6
|
F src/sqlite.h.in 664b8702c27dc742584788823c548491ac8935d6
|
||||||
F src/sqlite3ext.h 7d0d363ea7327e817ef0dfe1b7eee1f171b72890
|
F src/sqlite3ext.h 7d0d363ea7327e817ef0dfe1b7eee1f171b72890
|
||||||
F src/sqliteInt.h 9d74ad5f9f4abf72aa681c571253459d0953bdd7
|
F src/sqliteInt.h da5ded9e98e319e7b159d1863440e47dca2761e7
|
||||||
F src/table.c a8de75bcedf84d4060d804264b067ab3b1a3561d
|
F src/table.c a8de75bcedf84d4060d804264b067ab3b1a3561d
|
||||||
F src/tclsqlite.c f425c7583665ef78dd8397b2de0b8e0028e80ce2
|
F src/tclsqlite.c f425c7583665ef78dd8397b2de0b8e0028e80ce2
|
||||||
F src/test1.c 73edd70920e462bbc20885fec66a48b5cace0edc
|
F src/test1.c 16938b7e76469abf957745743dd0287d5dee476d
|
||||||
F src/test2.c 24458b17ab2f3c90cbc1c8446bd7ffe69be62f88
|
F src/test2.c 24458b17ab2f3c90cbc1c8446bd7ffe69be62f88
|
||||||
F src/test3.c 946ea9d1a8c928656e3c70f0a2fcb8e733a15e86
|
F src/test3.c 946ea9d1a8c928656e3c70f0a2fcb8e733a15e86
|
||||||
F src/test4.c 8b784cd82de158a2317cb4ac4bc86f91ad315e25
|
F src/test4.c 8b784cd82de158a2317cb4ac4bc86f91ad315e25
|
||||||
F src/test5.c 7162f8526affb771c4ed256826eee7bb9eca265f
|
F src/test5.c c40a4cf43266c1c6da7bcb737d294304a177e6cc
|
||||||
F src/test6.c 5957d249d437e4db74045ce2f1f661648d94bf94
|
F src/test6.c 5957d249d437e4db74045ce2f1f661648d94bf94
|
||||||
F src/test7.c 03fa8d787f6aebc6d1f72504d52f33013ad2c8e3
|
F src/test7.c 03fa8d787f6aebc6d1f72504d52f33013ad2c8e3
|
||||||
F src/test8.c c3c4aeea4e3d70966306d6eca1b77ce7eee2f059
|
F src/test8.c c3c4aeea4e3d70966306d6eca1b77ce7eee2f059
|
||||||
@@ -129,17 +129,17 @@ F src/test_tclvar.c 315e77c17f128ff8c06b38c08617fd07c825a95b
|
|||||||
F src/tokenize.c be3524e7f626340032108f40eecd6f6eb39b4b73
|
F src/tokenize.c be3524e7f626340032108f40eecd6f6eb39b4b73
|
||||||
F src/trigger.c 420192efe3e6f03addf7897c60c3c8bf913d3493
|
F src/trigger.c 420192efe3e6f03addf7897c60c3c8bf913d3493
|
||||||
F src/update.c 3359041db390a8f856d67272f299600e2104f350
|
F src/update.c 3359041db390a8f856d67272f299600e2104f350
|
||||||
F src/utf.c e64a48bc21aa973eb622dd47da87d56a4cdcf528
|
F src/utf.c 168fe53589e2d0faec053af098c0d02e6a7690a8
|
||||||
F src/util.c 5eff5cec4ae43490ca3fb97f10a25aac1a5f9b55
|
F src/util.c 4f6bbcec2b2b1884d652b82c9f8949ede4618d68
|
||||||
F src/vacuum.c 8bd895d29e7074e78d4e80f948e35ddc9cf2beef
|
F src/vacuum.c 8bd895d29e7074e78d4e80f948e35ddc9cf2beef
|
||||||
F src/vdbe.c 07f70528ed4e51753e4416ed4faac33696e65c04
|
F src/vdbe.c 4e4951b6906065eee74d89f7fedc1e4bddc738d7
|
||||||
F src/vdbe.h 0025259af1939fb264a545816c69e4b5b8d52691
|
F src/vdbe.h a6c910b7361c927bd516d5a76de9278fe6703ce7
|
||||||
F src/vdbeInt.h 77a17f1a8bcbbb660bf4515c78d74280b4e8be5c
|
F src/vdbeInt.h 77a17f1a8bcbbb660bf4515c78d74280b4e8be5c
|
||||||
F src/vdbeapi.c 120e04492e98e3cfd5545dd7130c76987e40e8b3
|
F src/vdbeapi.c 120e04492e98e3cfd5545dd7130c76987e40e8b3
|
||||||
F src/vdbeaux.c c432e17fef6efaf102d507e979cee4e47f6ceac4
|
F src/vdbeaux.c c432e17fef6efaf102d507e979cee4e47f6ceac4
|
||||||
F src/vdbeblob.c 57127dc9fd01f3fded2eab30b5842f5f96b1c42b
|
F src/vdbeblob.c 96f3572fdc45eda5be06e6372b612bc30742d9f0
|
||||||
F src/vdbefifo.c 3ca8049c561d5d67cbcb94dc909ae9bb68c0bf8f
|
F src/vdbefifo.c 3ca8049c561d5d67cbcb94dc909ae9bb68c0bf8f
|
||||||
F src/vdbemem.c 44b71bf94b88a75b638ceed402e85a58053bbb64
|
F src/vdbemem.c f9ef7a16993130e610dd994a1a76b1e831857e27
|
||||||
F src/vtab.c c5ebebf615b2f29499fbe97a584c4bb342632aa0
|
F src/vtab.c c5ebebf615b2f29499fbe97a584c4bb342632aa0
|
||||||
F src/where.c f3920748cc650fc25ac916215500bdb90dee568e
|
F src/where.c f3920748cc650fc25ac916215500bdb90dee568e
|
||||||
F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617
|
F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617
|
||||||
@@ -420,7 +420,7 @@ F tool/memleak2.awk 9cc20c8e8f3c675efac71ea0721ee6874a1566e8
|
|||||||
F tool/memleak3.tcl 7707006ee908cffff210c98158788d85bb3fcdbf
|
F tool/memleak3.tcl 7707006ee908cffff210c98158788d85bb3fcdbf
|
||||||
F tool/mkkeywordhash.c fe15d1cbc61c2b0375634b6d8c1ef24520799ea0
|
F tool/mkkeywordhash.c fe15d1cbc61c2b0375634b6d8c1ef24520799ea0
|
||||||
F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e x
|
F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e x
|
||||||
F tool/mksqlite3c.tcl b5048f0ed110530e79b25813474fde07f9d20906
|
F tool/mksqlite3c.tcl 73453da6ff4e0af53c708922e69447bc393c19d8
|
||||||
F tool/mksqlite3internalh.tcl 09152fdc0c5fd779a3ac5759a043f08d2f609248
|
F tool/mksqlite3internalh.tcl 09152fdc0c5fd779a3ac5759a043f08d2f609248
|
||||||
F tool/omittest.tcl e6b3d6a1285f9813bc1dea53bb522b4b72774710
|
F tool/omittest.tcl e6b3d6a1285f9813bc1dea53bb522b4b72774710
|
||||||
F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c
|
F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c
|
||||||
@@ -486,7 +486,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
|
|||||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||||
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
|
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
|
||||||
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
|
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
|
||||||
P 251ba1981e32fb80818965ffe1ef455069e88abd
|
P 21299b917812920c70001c2d3d9b65f66eca6b24
|
||||||
R 5b0123fce080c175ec84a3d44db3b618
|
R f5e11c4825810592f7823911f802a794
|
||||||
U drh
|
U drh
|
||||||
Z 86fe330e899fca92e103583ff75ee0fd
|
Z 94aa2a64018d167955147d322be81e07
|
||||||
|
@@ -1 +1 @@
|
|||||||
21299b917812920c70001c2d3d9b65f66eca6b24
|
e9f56ead0514f3eac75807ea710c1f035b8add4f
|
@@ -22,7 +22,7 @@
|
|||||||
** COMMIT
|
** COMMIT
|
||||||
** ROLLBACK
|
** ROLLBACK
|
||||||
**
|
**
|
||||||
** $Id: build.c,v 1.427 2007/05/08 13:58:27 drh Exp $
|
** $Id: build.c,v 1.428 2007/05/08 20:37:39 drh Exp $
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@@ -1566,7 +1566,7 @@ void sqlite3EndTable(
|
|||||||
pCons = pEnd;
|
pCons = pEnd;
|
||||||
}
|
}
|
||||||
nName = (const char *)pCons->z - zName;
|
nName = (const char *)pCons->z - zName;
|
||||||
p->addColOffset = 13 + sqlite3utf8CharLen(zName, nName);
|
p->addColOffset = 13 + sqlite3Utf8CharLen(zName, nName);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
** sqliteRegisterBuildinFunctions() found at the bottom of the file.
|
** sqliteRegisterBuildinFunctions() found at the bottom of the file.
|
||||||
** All other code has file scope.
|
** All other code has file scope.
|
||||||
**
|
**
|
||||||
** $Id: func.c,v 1.151 2007/05/08 15:46:18 drh Exp $
|
** $Id: func.c,v 1.152 2007/05/08 20:37:39 drh Exp $
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@@ -555,7 +555,7 @@ static void likeFunc(
|
|||||||
*/
|
*/
|
||||||
const unsigned char *zEsc = sqlite3_value_text(argv[2]);
|
const unsigned char *zEsc = sqlite3_value_text(argv[2]);
|
||||||
if( zEsc==0 ) return;
|
if( zEsc==0 ) return;
|
||||||
if( sqlite3utf8CharLen((char*)zEsc, -1)!=1 ){
|
if( sqlite3Utf8CharLen((char*)zEsc, -1)!=1 ){
|
||||||
sqlite3_result_error(context,
|
sqlite3_result_error(context,
|
||||||
"ESCAPE expression must be a single character", -1);
|
"ESCAPE expression must be a single character", -1);
|
||||||
return;
|
return;
|
||||||
@@ -1275,7 +1275,7 @@ void sqlite3RegisterBuiltinFunctions(sqlite3 *db){
|
|||||||
{ "length", 1, 0, SQLITE_UTF8, 0, lengthFunc },
|
{ "length", 1, 0, SQLITE_UTF8, 0, lengthFunc },
|
||||||
{ "substr", 3, 0, SQLITE_UTF8, 0, substrFunc },
|
{ "substr", 3, 0, SQLITE_UTF8, 0, substrFunc },
|
||||||
#ifndef SQLITE_OMIT_UTF16
|
#ifndef SQLITE_OMIT_UTF16
|
||||||
{ "substr", 3, 0, SQLITE_UTF16LE, 0, sqlite3utf16Substr },
|
{ "substr", 3, 0, SQLITE_UTF16LE, 0, sqlite3Utf16Substr },
|
||||||
#endif
|
#endif
|
||||||
{ "abs", 1, 0, SQLITE_UTF8, 0, absFunc },
|
{ "abs", 1, 0, SQLITE_UTF8, 0, absFunc },
|
||||||
{ "round", 1, 0, SQLITE_UTF8, 0, roundFunc },
|
{ "round", 1, 0, SQLITE_UTF8, 0, roundFunc },
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
** other files are for internal use by SQLite and should not be
|
** other files are for internal use by SQLite and should not be
|
||||||
** accessed by users of the library.
|
** accessed by users of the library.
|
||||||
**
|
**
|
||||||
** $Id: main.c,v 1.375 2007/05/08 12:12:17 drh Exp $
|
** $Id: main.c,v 1.376 2007/05/08 20:37:39 drh Exp $
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
@@ -562,7 +562,7 @@ int sqlite3_create_function16(
|
|||||||
char *zFunc8;
|
char *zFunc8;
|
||||||
assert( !sqlite3MallocFailed() );
|
assert( !sqlite3MallocFailed() );
|
||||||
|
|
||||||
zFunc8 = sqlite3utf16to8(zFunctionName, -1);
|
zFunc8 = sqlite3Utf16to8(zFunctionName, -1);
|
||||||
rc = sqlite3CreateFunc(db, zFunc8, nArg, eTextRep, p, xFunc, xStep, xFinal);
|
rc = sqlite3CreateFunc(db, zFunc8, nArg, eTextRep, p, xFunc, xStep, xFinal);
|
||||||
sqliteFree(zFunc8);
|
sqliteFree(zFunc8);
|
||||||
|
|
||||||
@@ -1171,7 +1171,7 @@ int sqlite3_create_collation16(
|
|||||||
int rc = SQLITE_OK;
|
int rc = SQLITE_OK;
|
||||||
char *zName8;
|
char *zName8;
|
||||||
assert( !sqlite3MallocFailed() );
|
assert( !sqlite3MallocFailed() );
|
||||||
zName8 = sqlite3utf16to8(zName, -1);
|
zName8 = sqlite3Utf16to8(zName, -1);
|
||||||
if( zName8 ){
|
if( zName8 ){
|
||||||
rc = createCollation(db, zName8, enc, pCtx, xCompare, 0);
|
rc = createCollation(db, zName8, enc, pCtx, xCompare, 0);
|
||||||
sqliteFree(zName8);
|
sqliteFree(zName8);
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
** interface, and routines that contribute to loading the database schema
|
** interface, and routines that contribute to loading the database schema
|
||||||
** from disk.
|
** from disk.
|
||||||
**
|
**
|
||||||
** $Id: prepare.c,v 1.49 2007/05/08 13:58:28 drh Exp $
|
** $Id: prepare.c,v 1.50 2007/05/08 20:37:39 drh Exp $
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
@@ -649,7 +649,7 @@ static int sqlite3Prepare16(
|
|||||||
if( sqlite3SafetyCheck(db) ){
|
if( sqlite3SafetyCheck(db) ){
|
||||||
return SQLITE_MISUSE;
|
return SQLITE_MISUSE;
|
||||||
}
|
}
|
||||||
zSql8 = sqlite3utf16to8(zSql, nBytes);
|
zSql8 = sqlite3Utf16to8(zSql, nBytes);
|
||||||
if( zSql8 ){
|
if( zSql8 ){
|
||||||
rc = sqlite3Prepare(db, zSql8, -1, saveSqlFlag, ppStmt, &zTail8);
|
rc = sqlite3Prepare(db, zSql8, -1, saveSqlFlag, ppStmt, &zTail8);
|
||||||
}
|
}
|
||||||
@@ -660,8 +660,8 @@ static int sqlite3Prepare16(
|
|||||||
** characters between zSql8 and zTail8, and then returning a pointer
|
** characters between zSql8 and zTail8, and then returning a pointer
|
||||||
** the same number of characters into the UTF-16 string.
|
** the same number of characters into the UTF-16 string.
|
||||||
*/
|
*/
|
||||||
int chars_parsed = sqlite3utf8CharLen(zSql8, zTail8-zSql8);
|
int chars_parsed = sqlite3Utf8CharLen(zSql8, zTail8-zSql8);
|
||||||
*pzTail = (u8 *)zSql + sqlite3utf16ByteLen(zSql, chars_parsed);
|
*pzTail = (u8 *)zSql + sqlite3Utf16ByteLen(zSql, chars_parsed);
|
||||||
}
|
}
|
||||||
sqliteFree(zSql8);
|
sqliteFree(zSql8);
|
||||||
return sqlite3ApiExit(db, rc);
|
return sqlite3ApiExit(db, rc);
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
*************************************************************************
|
*************************************************************************
|
||||||
** Internal interface definitions for SQLite.
|
** Internal interface definitions for SQLite.
|
||||||
**
|
**
|
||||||
** @(#) $Id: sqliteInt.h,v 1.560 2007/05/08 17:54:44 danielk1977 Exp $
|
** @(#) $Id: sqliteInt.h,v 1.561 2007/05/08 20:37:39 drh Exp $
|
||||||
*/
|
*/
|
||||||
#ifndef _SQLITEINT_H_
|
#ifndef _SQLITEINT_H_
|
||||||
#define _SQLITEINT_H_
|
#define _SQLITEINT_H_
|
||||||
@@ -1751,8 +1751,8 @@ int sqlite3AtoF(const char *z, double*);
|
|||||||
char *sqlite3_snprintf(int,char*,const char*,...);
|
char *sqlite3_snprintf(int,char*,const char*,...);
|
||||||
int sqlite3GetInt32(const char *, int*);
|
int sqlite3GetInt32(const char *, int*);
|
||||||
int sqlite3FitsIn64Bits(const char *);
|
int sqlite3FitsIn64Bits(const char *);
|
||||||
int sqlite3utf16ByteLen(const void *pData, int nChar);
|
int sqlite3Utf16ByteLen(const void *pData, int nChar);
|
||||||
int sqlite3utf8CharLen(const char *pData, int nByte);
|
int sqlite3Utf8CharLen(const char *pData, int nByte);
|
||||||
int sqlite3ReadUtf8(const unsigned char *);
|
int sqlite3ReadUtf8(const unsigned char *);
|
||||||
int sqlite3PutVarint(unsigned char *, u64);
|
int sqlite3PutVarint(unsigned char *, u64);
|
||||||
int sqlite3GetVarint(const unsigned char *, u64 *);
|
int sqlite3GetVarint(const unsigned char *, u64 *);
|
||||||
@@ -1763,7 +1763,7 @@ void sqlite3TableAffinityStr(Vdbe *, Table *);
|
|||||||
char sqlite3CompareAffinity(Expr *pExpr, char aff2);
|
char sqlite3CompareAffinity(Expr *pExpr, char aff2);
|
||||||
int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity);
|
int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity);
|
||||||
char sqlite3ExprAffinity(Expr *pExpr);
|
char sqlite3ExprAffinity(Expr *pExpr);
|
||||||
int sqlite3atoi64(const char*, i64*);
|
int sqlite3Atoi64(const char*, i64*);
|
||||||
void sqlite3Error(sqlite3*, int, const char*,...);
|
void sqlite3Error(sqlite3*, int, const char*,...);
|
||||||
void *sqlite3HexToBlob(const char *z);
|
void *sqlite3HexToBlob(const char *z);
|
||||||
int sqlite3TwoPartName(Parse *, Token *, Token *, Token **);
|
int sqlite3TwoPartName(Parse *, Token *, Token *, Token **);
|
||||||
@@ -1778,14 +1778,14 @@ int sqlite3CheckCollSeq(Parse *, CollSeq *);
|
|||||||
int sqlite3CheckIndexCollSeq(Parse *, Index *);
|
int sqlite3CheckIndexCollSeq(Parse *, Index *);
|
||||||
int sqlite3CheckObjectName(Parse *, const char *);
|
int sqlite3CheckObjectName(Parse *, const char *);
|
||||||
void sqlite3VdbeSetChanges(sqlite3 *, int);
|
void sqlite3VdbeSetChanges(sqlite3 *, int);
|
||||||
void sqlite3utf16Substr(sqlite3_context *,int,sqlite3_value **);
|
void sqlite3Utf16Substr(sqlite3_context *,int,sqlite3_value **);
|
||||||
|
|
||||||
const void *sqlite3ValueText(sqlite3_value*, u8);
|
const void *sqlite3ValueText(sqlite3_value*, u8);
|
||||||
int sqlite3ValueBytes(sqlite3_value*, u8);
|
int sqlite3ValueBytes(sqlite3_value*, u8);
|
||||||
void sqlite3ValueSetStr(sqlite3_value*, int, const void *,u8, void(*)(void*));
|
void sqlite3ValueSetStr(sqlite3_value*, int, const void *,u8, void(*)(void*));
|
||||||
void sqlite3ValueFree(sqlite3_value*);
|
void sqlite3ValueFree(sqlite3_value*);
|
||||||
sqlite3_value *sqlite3ValueNew(void);
|
sqlite3_value *sqlite3ValueNew(void);
|
||||||
char *sqlite3utf16to8(const void*, int);
|
char *sqlite3Utf16to8(const void*, int);
|
||||||
int sqlite3ValueFromExpr(Expr *, u8, u8, sqlite3_value **);
|
int sqlite3ValueFromExpr(Expr *, u8, u8, sqlite3_value **);
|
||||||
void sqlite3ValueApplyAffinity(sqlite3_value *, u8, u8);
|
void sqlite3ValueApplyAffinity(sqlite3_value *, u8, u8);
|
||||||
extern const unsigned char sqlite3UpperToLower[];
|
extern const unsigned char sqlite3UpperToLower[];
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
** is not included in the SQLite library. It is used for automated
|
** is not included in the SQLite library. It is used for automated
|
||||||
** testing of the SQLite library.
|
** testing of the SQLite library.
|
||||||
**
|
**
|
||||||
** $Id: test1.c,v 1.251 2007/05/08 01:08:49 drh Exp $
|
** $Id: test1.c,v 1.252 2007/05/08 20:37:39 drh Exp $
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
#include "tcl.h"
|
#include "tcl.h"
|
||||||
@@ -1069,7 +1069,7 @@ static int sqlite3_mprintf_int(
|
|||||||
*/
|
*/
|
||||||
static int sqlite3GetInt64(const char *zNum, i64 *pValue){
|
static int sqlite3GetInt64(const char *zNum, i64 *pValue){
|
||||||
if( sqlite3FitsIn64Bits(zNum) ){
|
if( sqlite3FitsIn64Bits(zNum) ){
|
||||||
sqlite3atoi64(zNum, pValue);
|
sqlite3Atoi64(zNum, pValue);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@@ -3035,7 +3035,7 @@ static int test_errmsg16(
|
|||||||
|
|
||||||
zErr = sqlite3_errmsg16(db);
|
zErr = sqlite3_errmsg16(db);
|
||||||
if( zErr ){
|
if( zErr ){
|
||||||
bytes = sqlite3utf16ByteLen(zErr, -1);
|
bytes = sqlite3Utf16ByteLen(zErr, -1);
|
||||||
}
|
}
|
||||||
Tcl_SetObjResult(interp, Tcl_NewByteArrayObj(zErr, bytes));
|
Tcl_SetObjResult(interp, Tcl_NewByteArrayObj(zErr, bytes));
|
||||||
#endif /* SQLITE_OMIT_UTF16 */
|
#endif /* SQLITE_OMIT_UTF16 */
|
||||||
@@ -3646,7 +3646,7 @@ static int test_stmt_utf16(
|
|||||||
|
|
||||||
zName16 = xFunc(pStmt, col);
|
zName16 = xFunc(pStmt, col);
|
||||||
if( zName16 ){
|
if( zName16 ){
|
||||||
pRet = Tcl_NewByteArrayObj(zName16, sqlite3utf16ByteLen(zName16, -1)+2);
|
pRet = Tcl_NewByteArrayObj(zName16, sqlite3Utf16ByteLen(zName16, -1)+2);
|
||||||
Tcl_SetObjResult(interp, pRet);
|
Tcl_SetObjResult(interp, pRet);
|
||||||
}
|
}
|
||||||
#endif /* SQLITE_OMIT_UTF16 */
|
#endif /* SQLITE_OMIT_UTF16 */
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
** is used for testing the SQLite routines for converting between
|
** is used for testing the SQLite routines for converting between
|
||||||
** the various supported unicode encodings.
|
** the various supported unicode encodings.
|
||||||
**
|
**
|
||||||
** $Id: test5.c,v 1.15 2005/12/09 20:21:59 drh Exp $
|
** $Id: test5.c,v 1.16 2007/05/08 20:37:40 drh Exp $
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
#include "vdbeInt.h"
|
#include "vdbeInt.h"
|
||||||
@@ -180,10 +180,10 @@ static int test_translate(
|
|||||||
/*
|
/*
|
||||||
** Usage: translate_selftest
|
** Usage: translate_selftest
|
||||||
**
|
**
|
||||||
** Call sqlite3utfSelfTest() to run the internal tests for unicode
|
** Call sqlite3UtfSelfTest() to run the internal tests for unicode
|
||||||
** translation. If there is a problem an assert() will fail.
|
** translation. If there is a problem an assert() will fail.
|
||||||
**/
|
**/
|
||||||
void sqlite3utfSelfTest();
|
void sqlite3UtfSelfTest();
|
||||||
static int test_translate_selftest(
|
static int test_translate_selftest(
|
||||||
void * clientData,
|
void * clientData,
|
||||||
Tcl_Interp *interp,
|
Tcl_Interp *interp,
|
||||||
@@ -191,7 +191,7 @@ static int test_translate_selftest(
|
|||||||
Tcl_Obj *CONST objv[]
|
Tcl_Obj *CONST objv[]
|
||||||
){
|
){
|
||||||
#ifndef SQLITE_OMIT_UTF16
|
#ifndef SQLITE_OMIT_UTF16
|
||||||
sqlite3utfSelfTest();
|
sqlite3UtfSelfTest();
|
||||||
#endif
|
#endif
|
||||||
return SQLITE_OK;
|
return SQLITE_OK;
|
||||||
}
|
}
|
||||||
|
18
src/utf.c
18
src/utf.c
@@ -12,7 +12,7 @@
|
|||||||
** This file contains routines used to translate between UTF-8,
|
** This file contains routines used to translate between UTF-8,
|
||||||
** UTF-16, UTF-16BE, and UTF-16LE.
|
** UTF-16, UTF-16BE, and UTF-16LE.
|
||||||
**
|
**
|
||||||
** $Id: utf.c,v 1.44 2007/03/31 15:28:00 drh Exp $
|
** $Id: utf.c,v 1.45 2007/05/08 20:37:40 drh Exp $
|
||||||
**
|
**
|
||||||
** Notes on UTF-8:
|
** Notes on UTF-8:
|
||||||
**
|
**
|
||||||
@@ -53,9 +53,9 @@
|
|||||||
**
|
**
|
||||||
** sqlite3VdbeMemTranslate() - Translate the encoding used by a Mem* string.
|
** sqlite3VdbeMemTranslate() - Translate the encoding used by a Mem* string.
|
||||||
** sqlite3VdbeMemHandleBom() - Handle byte-order-marks in UTF16 Mem* strings.
|
** sqlite3VdbeMemHandleBom() - Handle byte-order-marks in UTF16 Mem* strings.
|
||||||
** sqlite3utf16ByteLen() - Calculate byte-length of a void* UTF16 string.
|
** sqlite3Utf16ByteLen() - Calculate byte-length of a void* UTF16 string.
|
||||||
** sqlite3utf8CharLen() - Calculate char-length of a char* UTF8 string.
|
** sqlite3Utf8CharLen() - Calculate char-length of a char* UTF8 string.
|
||||||
** sqlite3utf8LikeCompare() - Do a LIKE match given two UTF8 char* strings.
|
** sqlite3Utf8LikeCompare() - Do a LIKE match given two UTF8 char* strings.
|
||||||
**
|
**
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
@@ -457,7 +457,7 @@ int sqlite3VdbeMemHandleBom(Mem *pMem){
|
|||||||
** number of unicode characters in the first nByte of pZ (or up to
|
** number of unicode characters in the first nByte of pZ (or up to
|
||||||
** the first 0x00, whichever comes first).
|
** the first 0x00, whichever comes first).
|
||||||
*/
|
*/
|
||||||
int sqlite3utf8CharLen(const char *z, int nByte){
|
int sqlite3Utf8CharLen(const char *z, int nByte){
|
||||||
int r = 0;
|
int r = 0;
|
||||||
const char *zTerm;
|
const char *zTerm;
|
||||||
if( nByte>=0 ){
|
if( nByte>=0 ){
|
||||||
@@ -481,7 +481,7 @@ int sqlite3utf8CharLen(const char *z, int nByte){
|
|||||||
**
|
**
|
||||||
** NULL is returned if there is an allocation error.
|
** NULL is returned if there is an allocation error.
|
||||||
*/
|
*/
|
||||||
char *sqlite3utf16to8(const void *z, int nByte){
|
char *sqlite3Utf16to8(const void *z, int nByte){
|
||||||
Mem m;
|
Mem m;
|
||||||
memset(&m, 0, sizeof(m));
|
memset(&m, 0, sizeof(m));
|
||||||
sqlite3VdbeMemSetStr(&m, z, nByte, SQLITE_UTF16NATIVE, SQLITE_STATIC);
|
sqlite3VdbeMemSetStr(&m, z, nByte, SQLITE_UTF16NATIVE, SQLITE_STATIC);
|
||||||
@@ -498,7 +498,7 @@ char *sqlite3utf16to8(const void *z, int nByte){
|
|||||||
** then return the number of bytes in the first nChar unicode characters
|
** then return the number of bytes in the first nChar unicode characters
|
||||||
** in pZ (or up until the first pair of 0x00 bytes, whichever comes first).
|
** in pZ (or up until the first pair of 0x00 bytes, whichever comes first).
|
||||||
*/
|
*/
|
||||||
int sqlite3utf16ByteLen(const void *zIn, int nChar){
|
int sqlite3Utf16ByteLen(const void *zIn, int nChar){
|
||||||
unsigned int c = 1;
|
unsigned int c = 1;
|
||||||
char const *z = zIn;
|
char const *z = zIn;
|
||||||
int n = 0;
|
int n = 0;
|
||||||
@@ -528,7 +528,7 @@ int sqlite3utf16ByteLen(const void *zIn, int nChar){
|
|||||||
/*
|
/*
|
||||||
** UTF-16 implementation of the substr()
|
** UTF-16 implementation of the substr()
|
||||||
*/
|
*/
|
||||||
void sqlite3utf16Substr(
|
void sqlite3Utf16Substr(
|
||||||
sqlite3_context *context,
|
sqlite3_context *context,
|
||||||
int argc,
|
int argc,
|
||||||
sqlite3_value **argv
|
sqlite3_value **argv
|
||||||
@@ -579,7 +579,7 @@ void sqlite3utf16Substr(
|
|||||||
** It checks that the primitives for serializing and deserializing
|
** It checks that the primitives for serializing and deserializing
|
||||||
** characters in each encoding are inverses of each other.
|
** characters in each encoding are inverses of each other.
|
||||||
*/
|
*/
|
||||||
void sqlite3utfSelfTest(){
|
void sqlite3UtfSelfTest(){
|
||||||
unsigned int i, t;
|
unsigned int i, t;
|
||||||
unsigned char zBuf[20];
|
unsigned char zBuf[20];
|
||||||
unsigned char *z;
|
unsigned char *z;
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
** This file contains functions for allocating memory, comparing
|
** This file contains functions for allocating memory, comparing
|
||||||
** strings, and stuff like that.
|
** strings, and stuff like that.
|
||||||
**
|
**
|
||||||
** $Id: util.c,v 1.201 2007/05/05 11:48:54 drh Exp $
|
** $Id: util.c,v 1.202 2007/05/08 20:37:40 drh Exp $
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
@@ -292,7 +292,7 @@ int sqlite3AtoF(const char *z, double *pResult){
|
|||||||
*pResult = sign<0 ? -v1 : v1;
|
*pResult = sign<0 ? -v1 : v1;
|
||||||
return z - zBegin;
|
return z - zBegin;
|
||||||
#else
|
#else
|
||||||
return sqlite3atoi64(z, pResult);
|
return sqlite3Atoi64(z, pResult);
|
||||||
#endif /* SQLITE_OMIT_FLOATING_POINT */
|
#endif /* SQLITE_OMIT_FLOATING_POINT */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -307,7 +307,7 @@ int sqlite3AtoF(const char *z, double *pResult){
|
|||||||
** 32-bit numbers. At that time, it was much faster than the
|
** 32-bit numbers. At that time, it was much faster than the
|
||||||
** atoi() library routine in RedHat 7.2.
|
** atoi() library routine in RedHat 7.2.
|
||||||
*/
|
*/
|
||||||
int sqlite3atoi64(const char *zNum, i64 *pNum){
|
int sqlite3Atoi64(const char *zNum, i64 *pNum){
|
||||||
i64 v = 0;
|
i64 v = 0;
|
||||||
int neg;
|
int neg;
|
||||||
int i, c;
|
int i, c;
|
||||||
|
@@ -43,7 +43,7 @@
|
|||||||
** in this file for details. If in doubt, do not deviate from existing
|
** in this file for details. If in doubt, do not deviate from existing
|
||||||
** commenting and indentation practices when changing or adding code.
|
** commenting and indentation practices when changing or adding code.
|
||||||
**
|
**
|
||||||
** $Id: vdbe.c,v 1.610 2007/05/08 13:57:34 danielk1977 Exp $
|
** $Id: vdbe.c,v 1.611 2007/05/08 20:37:40 drh Exp $
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
@@ -220,7 +220,7 @@ static void applyNumericAffinity(Mem *pRec){
|
|||||||
&& sqlite3IsNumber(pRec->z, &realnum, pRec->enc) ){
|
&& sqlite3IsNumber(pRec->z, &realnum, pRec->enc) ){
|
||||||
i64 value;
|
i64 value;
|
||||||
sqlite3VdbeChangeEncoding(pRec, SQLITE_UTF8);
|
sqlite3VdbeChangeEncoding(pRec, SQLITE_UTF8);
|
||||||
if( !realnum && sqlite3atoi64(pRec->z, &value) ){
|
if( !realnum && sqlite3Atoi64(pRec->z, &value) ){
|
||||||
sqlite3VdbeMemRelease(pRec);
|
sqlite3VdbeMemRelease(pRec);
|
||||||
pRec->u.i = value;
|
pRec->u.i = value;
|
||||||
pRec->flags = MEM_Int;
|
pRec->flags = MEM_Int;
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
** or VDBE. The VDBE implements an abstract machine that runs a
|
** or VDBE. The VDBE implements an abstract machine that runs a
|
||||||
** simple program to access and modify the underlying database.
|
** simple program to access and modify the underlying database.
|
||||||
**
|
**
|
||||||
** $Id: vdbe.h,v 1.108 2007/01/09 14:01:14 drh Exp $
|
** $Id: vdbe.h,v 1.109 2007/05/08 20:37:40 drh Exp $
|
||||||
*/
|
*/
|
||||||
#ifndef _SQLITE_VDBE_H_
|
#ifndef _SQLITE_VDBE_H_
|
||||||
#define _SQLITE_VDBE_H_
|
#define _SQLITE_VDBE_H_
|
||||||
@@ -131,7 +131,6 @@ int sqlite3VdbeCurrentAddr(Vdbe*);
|
|||||||
void sqlite3VdbeTrace(Vdbe*,FILE*);
|
void sqlite3VdbeTrace(Vdbe*,FILE*);
|
||||||
void sqlite3VdbeResetStepResult(Vdbe*);
|
void sqlite3VdbeResetStepResult(Vdbe*);
|
||||||
int sqlite3VdbeReset(Vdbe*);
|
int sqlite3VdbeReset(Vdbe*);
|
||||||
int sqliteVdbeSetVariables(Vdbe*,int,const char**);
|
|
||||||
void sqlite3VdbeSetNumCols(Vdbe*,int);
|
void sqlite3VdbeSetNumCols(Vdbe*,int);
|
||||||
int sqlite3VdbeSetColName(Vdbe*, int, int, const char *, int);
|
int sqlite3VdbeSetColName(Vdbe*, int, int, const char *, int);
|
||||||
void sqlite3VdbeCountChanges(Vdbe*);
|
void sqlite3VdbeCountChanges(Vdbe*);
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
**
|
**
|
||||||
** This file contains code used to implement incremental BLOB I/O.
|
** This file contains code used to implement incremental BLOB I/O.
|
||||||
**
|
**
|
||||||
** $Id: vdbeblob.c,v 1.9 2007/05/05 18:39:25 drh Exp $
|
** $Id: vdbeblob.c,v 1.10 2007/05/08 20:37:40 drh Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
@@ -247,7 +247,7 @@ int sqlite3_blob_close(sqlite3_blob *pBlob){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int blobReadWrite(
|
static int blobReadWrite(
|
||||||
sqlite3_blob *pBlob,
|
sqlite3_blob *pBlob,
|
||||||
void *z,
|
void *z,
|
||||||
int n,
|
int n,
|
||||||
|
@@ -290,7 +290,7 @@ i64 sqlite3VdbeIntValue(Mem *pMem){
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
assert( pMem->z );
|
assert( pMem->z );
|
||||||
sqlite3atoi64(pMem->z, &value);
|
sqlite3Atoi64(pMem->z, &value);
|
||||||
return value;
|
return value;
|
||||||
}else{
|
}else{
|
||||||
return 0;
|
return 0;
|
||||||
@@ -538,7 +538,7 @@ int sqlite3VdbeMemSetStr(
|
|||||||
case SQLITE_UTF16BE:
|
case SQLITE_UTF16BE:
|
||||||
pMem->flags |= MEM_Str;
|
pMem->flags |= MEM_Str;
|
||||||
if( pMem->n<0 ){
|
if( pMem->n<0 ){
|
||||||
pMem->n = sqlite3utf16ByteLen(pMem->z,-1);
|
pMem->n = sqlite3Utf16ByteLen(pMem->z,-1);
|
||||||
pMem->flags |= MEM_Term;
|
pMem->flags |= MEM_Term;
|
||||||
}
|
}
|
||||||
if( sqlite3VdbeMemHandleBom(pMem) ){
|
if( sqlite3VdbeMemHandleBom(pMem) ){
|
||||||
@@ -841,7 +841,7 @@ const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){
|
|||||||
/*
|
/*
|
||||||
** Create a new sqlite3_value object.
|
** Create a new sqlite3_value object.
|
||||||
*/
|
*/
|
||||||
sqlite3_value* sqlite3ValueNew(void){
|
sqlite3_value *sqlite3ValueNew(void){
|
||||||
Mem *p = sqliteMalloc(sizeof(*p));
|
Mem *p = sqliteMalloc(sizeof(*p));
|
||||||
if( p ){
|
if( p ){
|
||||||
p->flags = MEM_Null;
|
p->flags = MEM_Null;
|
||||||
|
@@ -75,7 +75,7 @@ foreach hdr {
|
|||||||
btreeInt.h
|
btreeInt.h
|
||||||
hash.h
|
hash.h
|
||||||
keywordhash.h
|
keywordhash.h
|
||||||
limit.h
|
limits.h
|
||||||
opcodes.h
|
opcodes.h
|
||||||
os_common.h
|
os_common.h
|
||||||
os.h
|
os.h
|
||||||
@@ -115,6 +115,11 @@ proc copy_file {filename} {
|
|||||||
set tail [file tail $filename]
|
set tail [file tail $filename]
|
||||||
section_comment "Begin file $tail"
|
section_comment "Begin file $tail"
|
||||||
set in [open $filename r]
|
set in [open $filename r]
|
||||||
|
if {[file extension $filename]==".h"} {
|
||||||
|
set declpattern {^ *[a-zA-Z][a-zA-Z_0-9 ]+ \*?sqlite3[A-Z][a-zA-Z0-9]+\(}
|
||||||
|
} else {
|
||||||
|
set declpattern {^[a-zA-Z][a-zA-Z_0-9 ]+ \*?sqlite3[A-Z][a-zA-Z0-9]+\(}
|
||||||
|
}
|
||||||
while {![eof $in]} {
|
while {![eof $in]} {
|
||||||
set line [gets $in]
|
set line [gets $in]
|
||||||
if {[regexp {^#\s*include\s+["<]([^">]+)[">]} $line all hdr]} {
|
if {[regexp {^#\s*include\s+["<]([^">]+)[">]} $line all hdr]} {
|
||||||
@@ -135,6 +140,9 @@ proc copy_file {filename} {
|
|||||||
puts $out "#if 0"
|
puts $out "#if 0"
|
||||||
} elseif {[regexp {^#line} $line]} {
|
} elseif {[regexp {^#line} $line]} {
|
||||||
# Skip #line directives.
|
# Skip #line directives.
|
||||||
|
} elseif {[regexp $declpattern $line] && ![regexp {^static} $line]} {
|
||||||
|
# Add the "static" keyword before internal functions.
|
||||||
|
puts $out "static $line"
|
||||||
} else {
|
} else {
|
||||||
puts $out $line
|
puts $out $line
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user