Make sure the array of overloadable system calls is always correctly

sized, regardless of the compile-time configuration.
Ticket [bb3a86e890c8e96ab].

FossilOrigin-Name: c6e727ab3b16e71b0151673bb24b0bafec368ee6
This commit is contained in:
drh 2011-04-13 13:42:25 +00:00
parent ab8fe225cf
commit 2aa5a00e70
3 changed files with 14 additions and 8 deletions

View File

@ -1,5 +1,5 @@
C Version\s3.7.6.
D 2011-04-12T01:58:40.690
C Make\ssure\sthe\sarray\sof\soverloadable\ssystem\scalls\sis\salways\scorrectly\nsized,\sregardless\sof\sthe\scompile-time\sconfiguration.\nTicket\s[bb3a86e890c8e96ab].
D 2011-04-13T13:42:25.116
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 7a4d9524721d40ef9ee26f93f9bd6a51dba106f2
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@ -162,7 +162,7 @@ F src/os.c 22ac61d06e72a0dac900400147333b07b13d8e1d
F src/os.h 9dbed8c2b9c1f2f2ebabc09e49829d4777c26bf9
F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440
F src/os_unix.c 9541fdb1be90845271184e7ac45d22565e37eb3b
F src/os_unix.c b2d4cd9976bbcc798f33746d3fab12b3ea57ffa9
F src/os_win.c 24d72407a90551969744cf9bcbb1b4c72c5fa845
F src/pager.c 055239dcdfe12b3f5d97f6f01f85da01e2d6d912
F src/pager.h 3f8c783de1d4706b40b1ac15b64f5f896bcc78d1
@ -929,7 +929,7 @@ F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/split-sqlite3c.tcl d9be87f1c340285a3e081eb19b4a247981ed290c
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P 51029d8430d2dbc782f161577d47e3dd11c4e4d7
R fcc945afeae11beaa1721b47d44a80b4
P f9d43fa363d54beab6f45db005abac0a7c0c47a7
R 0d198cb245d7de531918d2678517b4ac
U drh
Z 0fccf301134ba497cedbdc7d897260bd
Z 08b394929f70e70f37b132550bef53be

View File

@ -1 +1 @@
f9d43fa363d54beab6f45db005abac0a7c0c47a7
c6e727ab3b16e71b0151673bb24b0bafec368ee6

View File

@ -365,8 +365,10 @@ static struct unix_syscall {
#if SQLITE_ENABLE_LOCKING_STYLE
{ "fchmod", (sqlite3_syscall_ptr)fchmod, 0 },
#define osFchmod ((int(*)(int,mode_t))aSyscall[14].pCurrent)
#else
{ "fchmod", (sqlite3_syscall_ptr)0, 0 },
#endif
#define osFchmod ((int(*)(int,mode_t))aSyscall[14].pCurrent)
#if defined(HAVE_POSIX_FALLOCATE) && HAVE_POSIX_FALLOCATE
{ "fallocate", (sqlite3_syscall_ptr)posix_fallocate, 0 },
@ -6684,6 +6686,10 @@ int sqlite3_os_init(void){
};
unsigned int i; /* Loop counter */
/* Double-check that the aSyscall[] array has been constructed
** correctly. See ticket [bb3a86e890c8e96ab] */
assert( ArraySize(aSyscall)==16 );
/* Register all VFSes defined in the aVfs[] array */
for(i=0; i<(sizeof(aVfs)/sizeof(sqlite3_vfs)); i++){
sqlite3_vfs_register(&aVfs[i], i==0);