diff options
author | drh <drh@noemail.net> | 2008-03-07 21:04:02 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2008-03-07 21:04:02 +0000 |
commit | 5ce88abaa3309a91f9025755b15fdf45039f481b (patch) | |
tree | 9af250e7468af7c728842393ad59af4addc47002 /src/test_async.c | |
parent | 308aa32ffc920273b64e6b9702386cfd7b2480ec (diff) | |
download | sqlite-5ce88abaa3309a91f9025755b15fdf45039f481b.tar.gz sqlite-5ce88abaa3309a91f9025755b15fdf45039f481b.zip |
Fix an alignment problem in test_async.c. (CVS 4840)
FossilOrigin-Name: 752d8e21bb250d7df58a3abc945fcd7a3b38ad15
Diffstat (limited to 'src/test_async.c')
-rw-r--r-- | src/test_async.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/test_async.c b/src/test_async.c index 3f2c57966..18dd21e66 100644 --- a/src/test_async.c +++ b/src/test_async.c @@ -1011,6 +1011,7 @@ static int asyncOpen( int nByte; AsyncFileData *pData; AsyncLock *pLock = 0; + char *z; int isExclusive = (flags&SQLITE_OPEN_EXCLUSIVE); nByte = ( @@ -1018,15 +1019,19 @@ static int asyncOpen( 2 * pVfs->szOsFile + /* AsyncFileData.pBaseRead and pBaseWrite */ nName /* AsyncFileData.zName */ ); - pData = sqlite3_malloc(nByte); - if( !pData ){ + z = sqlite3_malloc(nByte); + if( !z ){ return SQLITE_NOMEM; } - memset(pData, 0, nByte); - pData->zName = (char *)&pData[1]; + memset(z, 0, nByte); + pData = (AsyncFileData*)z; + z += sizeof(pData[0]); + pData->pBaseRead = (sqlite3_file*)z; + z += pVfs->szOsFile; + pData->pBaseWrite = (sqlite3_file*)z; + z += pVfs->szOsFile; + pData->zName = z; pData->nName = nName; - pData->pBaseRead = (sqlite3_file *)&pData->zName[nName]; - pData->pBaseWrite = (sqlite3_file *)&pData->zName[nName+pVfs->szOsFile]; pData->close.pFileData = pData; pData->close.op = ASYNC_CLOSE; memcpy(pData->zName, zName, nName); |