]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make sure the array of overloadable system calls is always correctly
authordrh <drh@noemail.net>
Wed, 13 Apr 2011 13:42:25 +0000 (13:42 +0000)
committerdrh <drh@noemail.net>
Wed, 13 Apr 2011 13:42:25 +0000 (13:42 +0000)
sized, regardless of the compile-time configuration.
Ticket [bb3a86e890c8e96ab].

FossilOrigin-Name: c6e727ab3b16e71b0151673bb24b0bafec368ee6

manifest
manifest.uuid
src/os_unix.c

index 712f594945d570e94d8d0d8e2043f8db69a90795..e3362ab9ca7a1f3a21e9a73a7a330338d87f427e 100644 (file)
--- 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
index 66366832d524819748f5df203a0004ce7d67f17f..358a6fb2419a12cbfa88684db1c9f8772933d065 100644 (file)
@@ -1 +1 @@
-f9d43fa363d54beab6f45db005abac0a7c0c47a7
\ No newline at end of file
+c6e727ab3b16e71b0151673bb24b0bafec368ee6
\ No newline at end of file
index f0e8258f141ea008e5929626b90cfdddba3e9c1a..744d85776796a7e720391b271805aa048c21679a 100644 (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);