- C Merge\sall\srecent\strunk\senhancements\sinto\sthe\ssessions\sbranch.
- D 2015-03-24T19:02:13.346
-C Prevent\sa\spossible\sinfinite\sloop\swhen\strying\sto\sDROP\sa\stable\sfrom\na\scorrupt\sdatabase.
-D 2015-03-30T23:43:56.191
++C Merge\sall\srecent\strunk\senhancements\sand\sfixes\sinto\sthe\ssessions\sbranch.
++D 2015-03-31T00:10:21.692
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
-F Makefile.in 88a3e6261286db378fdffa1124cad11b3c05f5bb
+F Makefile.in 1bf4de5d0809e0ed046d6f2671ea46d1d6c69608
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc 9547047d5f1b55326a195323ee41cd86281a5d9e
-F Makefile.msc 23e6eaa84569829c3e7f409513caa136e5bcaf2a
++F Makefile.msc da7e7ac0949d78930b7b0adc3862aef9a9439b2e
F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858
F README.md d58e3bebc0a4145e0f2a87994015fdb575a8e866
F VERSION 319eb1ced4b4d17a67730f2b7b85f15c1346cb60
F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
F src/lempar.c 7274c97d24bb46631e504332ccd3bd1b37841770
F src/loadext.c 86bd4e2fccd520b748cba52492ab60c4a770f660
- F src/main.c e404037a74cc37251e54c7b71a9a25b48b21e884
- F src/malloc.c e818a0db9ac0898f9dc74002f3a5baca32232d05
-F src/main.c 40e333960d53f7d50ee8ce09d40431c87ea653f2
++F src/main.c 4eecdeb7b3f6be5aa336252f71208344b5edd196
+ F src/malloc.c 6a370b83d54e4bbf6f94021221c2a311cff26a18
F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
F src/mem1.c abe6ee469b6c5a35c7f22bfeb9c9bac664a1c987
F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3
F src/resolve.c f4d79e31ffa5820c2e3d1740baa5e9b190425f2b
F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
F src/select.c 72ffb62e2879956302140e9f6e6ae88aee36b0e5
- F src/shell.c 560f5ceec3a1855c1aa474a52b75dea112d548b4
- F src/sqlite.h.in 690648d5c676eb3ded09f635fc8d0aeb22235df0
-F src/shell.c 84a1593bd86aaa14f4da8a8f9b16fbc239d262aa
-F src/sqlite.h.in 278602140d49575e8708e643161f4263e428a02a
++F src/shell.c c4d839ad62f4986891601a21ce629a760f226682
++F src/sqlite.h.in 64287a2b3432550264a743addbf4162a692fdd1c
F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
F src/sqlite3ext.h 17d487c3c91b0b8c584a32fbeb393f6f795eea7d
- F src/sqliteInt.h d2804bd5a9c270bc60fe096c9c416123425ebdde
-F src/sqliteInt.h d02d2b85cb02a38bc442cf9302ec8209baf6771d
++F src/sqliteInt.h e974c4f98eba7c578da160dd76a7a34d62d61af2
F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179
F src/table.c e7a09215315a978057fb42c640f890160dbcc45e
F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
F tool/mkpragmatab.tcl 94f196c9961e0ca3513e29f57125a3197808be2d
F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
- F tool/mksqlite3c-noext.tcl 9ef48e1748dce7b844f67e2450ff9dfeb0fb4ab5
- F tool/mksqlite3c.tcl 87d0000c12cfb0a8c5438f9a754fb45ab0aeb2e2
- F tool/mksqlite3h.tcl 2d0f1b3768f8d000b7881217d5fd4c776eb27467
+ F tool/mksqlite3c-noext.tcl 69bae8ce4aa52d2ff82d4a8a856bf283ec035b2e
-F tool/mksqlite3c.tcl 52a3352f7aa15f1db851e45ac3a5e2173d6fe93c
-F tool/mksqlite3h.tcl 44730d586c9031638cdd2eb443b801c0d2dbd9f8
++F tool/mksqlite3c.tcl ebbf1198e19d84b4c34cca077d8f727a06ff8a11
++F tool/mksqlite3h.tcl 96d92fcac21c6037d9db20c7cb2e06b534b550ac
F tool/mksqlite3internalh.tcl eb994013e833359137eb53a55acdad0b5ae1049b
F tool/mkvsix.tcl 52a4c613707ac34ae9c226e5ccc69cb948556105
F tool/offsets.c fe4262fdfa378e8f5499a42136d17bf3b98f6091
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P 1d1c57c3566d86cd44f146688b620131b3b57e52 436314b5728c9413f9ac2d837e1c19364f31be72
- R b5b5e91935316c7c5da3a524cb5abdb1
-P ab5800291e1908b5b51d912feeacf748dc9be14b
-R 7b7ce803eb05ad2f210c6eb94fdd8e1c
++P 54aaa6f29ad1bf84148c2403eed77e8311f68d66 395bb3e677a6551b06ba96fc58c393132b93d1e8
++R 5157faacf9bba75d7e337c0159334ea0
U drh
- Z a1e013db0b150b015d815c843c8a5cc9
-Z 53c46ef4969a0037acc3578044ba6e9e
++Z 1371361ad4cf3707e5f673fcbbe81867
set available_hdr($hdr) 1
}
set available_hdr(sqliteInt.h) 0
+set available_hdr(sqlite3session.h) 0
+ # These headers should be copied into the amalgamation without modifying any
+ # of their function declarations or definitions.
+ set varonly_hdr(sqlite3.h) 1
+
+ # These are the functions that accept a variable number of arguments. They
+ # always need to use the "cdecl" calling convention even when another calling
+ # convention (e.g. "stcall") is being used for the rest of the library.
+ set cdecllist {
+ sqlite3_config
+ sqlite3_db_config
+ sqlite3_log
+ sqlite3_mprintf
+ sqlite3_snprintf
+ sqlite3_test_control
+ sqlite3_vtab_config
+ }
+
# 78 stars used for comment formatting.
set s78 \
{*****************************************************************************}
} elseif {!$linemacros && [regexp {^#line} $line]} {
# Skip #line directives.
} elseif {$addstatic && ![regexp {^(static|typedef)} $line]} {
- regsub {^SQLITE_API } $line {} line
- if {[regexp $declpattern $line all funcname]} {
+ # Skip adding the SQLITE_PRIVATE or SQLITE_API keyword before
+ # functions if this header file does not need it.
+ if {![info exists varonly_hdr($tail)]
+ && [regexp $declpattern $line all rettype funcname rest]} {
+ regsub {^SQLITE_API } $line {} line
# Add the SQLITE_PRIVATE or SQLITE_API keyword before functions.
# so that linkage can be modified at compile-time.
- if {[regexp {^sqlite3_} $funcname]} {
+ if {[regexp {^sqlite3[a-z]*_} $funcname]} {
- puts $out "SQLITE_API $line"
+ set line SQLITE_API
+ append line " " [string trim $rettype]
+ if {[string index $rettype end] ne "*"} {
+ append line " "
+ }
+ if {[lsearch -exact $cdecllist $funcname] >= 0} {
+ append line SQLITE_CDECL
+ } else {
+ append line SQLITE_STDCALL
+ }
+ append line " " $funcname $rest
+ puts $out $line
} else {
puts $out "SQLITE_PRIVATE $line"
}