aboutsummaryrefslogtreecommitdiff
path: root/src/os_unix.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2011-03-23 22:02:23 +0000
committerdrh <drh@noemail.net>2011-03-23 22:02:23 +0000
commit58ad580ffa93cc3bd6d4a4179470bca3cb2041ae (patch)
treea6d942c8e3ce621dfea66d3e757f637fefa8f2c2 /src/os_unix.c
parent01c7dc887c35ce8107363073fcf31f425fba46f4 (diff)
downloadsqlite-58ad580ffa93cc3bd6d4a4179470bca3cb2041ae.tar.gz
sqlite-58ad580ffa93cc3bd6d4a4179470bca3cb2041ae.zip
Change the xSetSyscall methods of the VFS so that they do not cast object
pointers into function pointers. Fix other unrelated compiler warnings. FossilOrigin-Name: e059152adce3a8fb693f082b82b5669a238c8d6f
Diffstat (limited to 'src/os_unix.c')
-rw-r--r--src/os_unix.c71
1 files changed, 40 insertions, 31 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index f771efdad..f4e689fa9 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -288,23 +288,23 @@ struct unixFile {
** to all overrideable system calls.
*/
static struct unix_syscall {
- const char *zName; /* Name of the sytem call */
- void *pCurrent; /* Current value of the system call */
- void *pDefault; /* Default value */
+ const char *zName; /* Name of the sytem call */
+ sqlite3_syscall_ptr pCurrent; /* Current value of the system call */
+ sqlite3_syscall_ptr pDefault; /* Default value */
} aSyscall[] = {
- { "open", (void*)open, 0 },
+ { "open", (sqlite3_syscall_ptr)open, 0 },
#define osOpen ((int(*)(const char*,int,int))aSyscall[0].pCurrent)
- { "close", (void*)close, 0 },
+ { "close", (sqlite3_syscall_ptr)close, 0 },
#define osClose ((int(*)(int))aSyscall[1].pCurrent)
- { "access", (void*)access, 0 },
+ { "access", (sqlite3_syscall_ptr)access, 0 },
#define osAccess ((int(*)(const char*,int))aSyscall[2].pCurrent)
- { "getcwd", (void*)getcwd, 0 },
+ { "getcwd", (sqlite3_syscall_ptr)getcwd, 0 },
#define osGetcwd ((char*(*)(char*,size_t))aSyscall[3].pCurrent)
- { "stat", (void*)stat, 0 },
+ { "stat", (sqlite3_syscall_ptr)stat, 0 },
#define osStat ((int(*)(const char*,struct stat*))aSyscall[4].pCurrent)
/*
@@ -317,59 +317,59 @@ static struct unix_syscall {
{ "fstat", 0, 0 },
#define osFstat(a,b,c) 0
#else
- { "fstat", (void*)fstat, 0 },
+ { "fstat", (sqlite3_syscall_ptr)fstat, 0 },
#define osFstat ((int(*)(int,struct stat*))aSyscall[5].pCurrent)
#endif
- { "ftruncate", (void*)ftruncate, 0 },
+ { "ftruncate", (sqlite3_syscall_ptr)ftruncate, 0 },
#define osFtruncate ((int(*)(int,off_t))aSyscall[6].pCurrent)
- { "fcntl", (void*)fcntl, 0 },
+ { "fcntl", (sqlite3_syscall_ptr)fcntl, 0 },
#define osFcntl ((int(*)(int,int,...))aSyscall[7].pCurrent)
- { "read", (void*)read, 0 },
+ { "read", (sqlite3_syscall_ptr)read, 0 },
#define osRead ((ssize_t(*)(int,void*,size_t))aSyscall[8].pCurrent)
#if defined(USE_PREAD) || defined(SQLITE_ENABLE_LOCKING_STYLE)
- { "pread", (void*)pread, 0 },
+ { "pread", (sqlite3_syscall_ptr)pread, 0 },
#else
- { "pread", (void*)0, 0 },
+ { "pread", (sqlite3_syscall_ptr)0, 0 },
#endif
#define osPread ((ssize_t(*)(int,void*,size_t,off_t))aSyscall[9].pCurrent)
#if defined(USE_PREAD64)
- { "pread64", (void*)pread64, 0 },
+ { "pread64", (sqlite3_syscall_ptr)pread64, 0 },
#else
- { "pread64", (void*)0, 0 },
+ { "pread64", (sqlite3_syscall_ptr)0, 0 },
#endif
#define osPread64 ((ssize_t(*)(int,void*,size_t,off_t))aSyscall[10].pCurrent)
- { "write", (void*)write, 0 },
+ { "write", (sqlite3_syscall_ptr)write, 0 },
#define osWrite ((ssize_t(*)(int,const void*,size_t))aSyscall[11].pCurrent)
#if defined(USE_PREAD) || defined(SQLITE_ENABLE_LOCKING_STYLE)
- { "pwrite", (void*)pwrite, 0 },
+ { "pwrite", (sqlite3_syscall_ptr)pwrite, 0 },
#else
- { "pwrite", (void*)0, 0 },
+ { "pwrite", (sqlite3_syscall_ptr)0, 0 },
#endif
#define osPwrite ((ssize_t(*)(int,const void*,size_t,off_t))\
aSyscall[12].pCurrent)
#if defined(USE_PREAD64)
- { "pwrite64", (void*)pwrite64, 0 },
+ { "pwrite64", (sqlite3_syscall_ptr)pwrite64, 0 },
#else
- { "pwrite64", (void*)0, 0 },
+ { "pwrite64", (sqlite3_syscall_ptr)0, 0 },
#endif
#define osPwrite64 ((ssize_t(*)(int,const void*,size_t,off_t))\
aSyscall[13].pCurrent)
- { "fchmod", (void*)fchmod, 0 },
+ { "fchmod", (sqlite3_syscall_ptr)fchmod, 0 },
#define osFchmod ((int(*)(int,mode_t))aSyscall[14].pCurrent)
#if defined(HAVE_POSIX_FALLOCATE) && HAVE_POSIX_FALLOCATE
- { "fallocate", (void*)posix_fallocate, 0 },
+ { "fallocate", (sqlite3_syscall_ptr)posix_fallocate, 0 },
#else
- { "fallocate", (void*)0, 0 },
+ { "fallocate", (sqlite3_syscall_ptr)0, 0 },
#endif
#define osFallocate ((int(*)(int,off_t,off_t)aSyscall[15].pCurrent)
@@ -382,12 +382,14 @@ static struct unix_syscall {
** system call named zName.
*/
static int unixSetSystemCall(
- sqlite3_vfs *pNotUsed, /* The VFS pointer. Not used */
- const char *zName, /* Name of system call to override */
- void *pNewFunc /* Pointer to new system call value */
+ sqlite3_vfs *pNotUsed, /* The VFS pointer. Not used */
+ const char *zName, /* Name of system call to override */
+ sqlite3_syscall_ptr pNewFunc /* Pointer to new system call value */
){
- int i;
+ unsigned int i;
int rc = SQLITE_NOTFOUND;
+
+ UNUSED_PARAMETER(pNotUsed);
if( zName==0 ){
/* If no zName is given, restore all system calls to their default
** settings and return NULL
@@ -422,8 +424,13 @@ static int unixSetSystemCall(
** recognized system call name. NULL is also returned if the system call
** is currently undefined.
*/
-static void *unixGetSystemCall(sqlite3_vfs *pNotUsed, const char *zName){
- int i;
+static sqlite3_syscall_ptr unixGetSystemCall(
+ sqlite3_vfs *pNotUsed,
+ const char *zName
+){
+ unsigned int i;
+
+ UNUSED_PARAMETER(pNotUsed);
for(i=0; i<sizeof(aSyscall)/sizeof(aSyscall[0]); i++){
if( strcmp(zName, aSyscall[i].zName)==0 ) return aSyscall[i].pCurrent;
}
@@ -437,7 +444,9 @@ static void *unixGetSystemCall(sqlite3_vfs *pNotUsed, const char *zName){
** system call.
*/
static const char *unixNextSystemCall(sqlite3_vfs *p, const char *zName){
- int i;
+ unsigned int i;
+
+ UNUSED_PARAMETER(p);
if( zName==0 ){
i = -1;
}else{