aboutsummaryrefslogtreecommitdiff
path: root/src/os_unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/os_unix.c')
-rw-r--r--src/os_unix.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 6200ac1ae..15bf9d221 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -1174,8 +1174,14 @@ static int unixSync(sqlite3_file *id, int flags){
int rc;
unixFile *pFile = (unixFile*)id;
- int isDataOnly = (flags & SQLITE_SYNC_DATAONLY);
- int isFullsync = (flags & SQLITE_SYNC_FULL);
+ int isDataOnly = (flags&SQLITE_SYNC_DATAONLY);
+ int isFullsync = (flags&0x0F)==SQLITE_SYNC_FULL;
+
+ /* Check that one of SQLITE_SYNC_NORMAL, FULL or BARRIER was passed */
+ assert((flags&0x0F)==SQLITE_SYNC_NORMAL
+ || (flags&0x0F)==SQLITE_SYNC_FULL
+ || (flags&0x0F)==SQLITE_SYNC_BARRIER
+ );
assert( pFile );
OSTRACE2("SYNC %-3d\n", pFile->h);