From: drh Date: Wed, 13 Apr 2011 13:42:25 +0000 (+0000) Subject: Make sure the array of overloadable system calls is always correctly X-Git-Tag: version-3.7.6.1~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2aa5a00e708f46577ab3e6f33fe562183a33f88c;p=thirdparty%2Fsqlite.git Make sure the array of overloadable system calls is always correctly sized, regardless of the compile-time configuration. Ticket [bb3a86e890c8e96ab]. FossilOrigin-Name: c6e727ab3b16e71b0151673bb24b0bafec368ee6 --- diff --git a/manifest b/manifest index 712f594945..e3362ab9ca 100644 --- a/manifest +++ b/manifest @@ -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 diff --git a/manifest.uuid b/manifest.uuid index 66366832d5..358a6fb241 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f9d43fa363d54beab6f45db005abac0a7c0c47a7 \ No newline at end of file +c6e727ab3b16e71b0151673bb24b0bafec368ee6 \ No newline at end of file diff --git a/src/os_unix.c b/src/os_unix.c index f0e8258f14..744d857767 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -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);