aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorpweilbacher <pweilbacher@noemail.net>2008-06-24 22:50:06 +0000
committerpweilbacher <pweilbacher@noemail.net>2008-06-24 22:50:06 +0000
commit91ef8f45c484f30612d330740f5f579e1307e368 (patch)
tree1ecd9580b0bba8d02f510e7dc7ea294f439b71b9 /src
parent57e5ea9327b297328f52ecf5861fb739a5fefc0b (diff)
downloadsqlite-91ef8f45c484f30612d330740f5f579e1307e368.tar.gz
sqlite-91ef8f45c484f30612d330740f5f579e1307e368.zip
OS/2 fixes for pre-C99 compilers and a return code correction in os2Access(). (CVS 5298)
FossilOrigin-Name: 3241a3bdd08f6abf3f1655152e296cc7ebe73bca
Diffstat (limited to 'src')
-rw-r--r--src/os_os2.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/os_os2.c b/src/os_os2.c
index 6025c11cd..ffa767e44 100644
--- a/src/os_os2.c
+++ b/src/os_os2.c
@@ -12,7 +12,7 @@
**
** This file contains code that is specific to OS/2.
**
-** $Id: os_os2.c,v 1.44 2008/06/18 21:08:16 pweilbacher Exp $
+** $Id: os_os2.c,v 1.45 2008/06/24 22:50:06 pweilbacher Exp $
*/
#include "sqliteInt.h"
@@ -772,7 +772,8 @@ static int os2Open(
if( rc != NO_ERROR ){
OSTRACE7( "OPEN Invalid handle rc=%d: zName=%s, ulAction=%#lx, ulAttr=%#lx, ulFlags=%#lx, ulMode=%#lx\n",
rc, zName, ulAction, ulFileAttribute, ulOpenFlags, ulOpenMode );
- free( pFile->pathToDel );
+ if ( pFile->pathToDel )
+ free( pFile->pathToDel );
pFile->pathToDel = NULL;
if( flags & SQLITE_OPEN_READWRITE ){
OSTRACE2( "OPEN %d Invalid handle\n", ((flags | SQLITE_OPEN_READONLY) & ~SQLITE_OPEN_READWRITE) );
@@ -804,8 +805,8 @@ int os2Delete(
int syncDir /* Not used on os2 */
){
APIRET rc = NO_ERROR;
- SimulateIOError(return SQLITE_IOERR_DELETE);
char *zFilenameCp = convertUtf8PathToCp( zFilename );
+ SimulateIOError( return SQLITE_IOERR_DELETE );
rc = DosDelete( (PSZ)zFilenameCp );
free( zFilenameCp );
OSTRACE2( "DELETE \"%s\"\n", zFilename );
@@ -823,9 +824,9 @@ static int os2Access(
){
FILESTATUS3 fsts3ConfigInfo;
APIRET rc = NO_ERROR;
+ char *zFilenameCp = convertUtf8PathToCp( zFilename );
memset( &fsts3ConfigInfo, 0, sizeof(fsts3ConfigInfo) );
- char *zFilenameCp = convertUtf8PathToCp( zFilename );
rc = DosQueryPathInfo( (PSZ)zFilenameCp, FIL_STANDARD,
&fsts3ConfigInfo, sizeof(FILESTATUS3) );
free( zFilenameCp );
@@ -838,7 +839,7 @@ static int os2Access(
OSTRACE3( "ACCESS %s access of read and exists rc=%d\n", zFilename, rc );
break;
case SQLITE_ACCESS_READWRITE:
- rc = (fsts3ConfigInfo.attrFile & FILE_READONLY) == 0;
+ rc = (rc == NO_ERROR) && ( (fsts3ConfigInfo.attrFile & FILE_READONLY) == 0 );
OSTRACE3( "ACCESS %s access of read/write rc=%d\n", zFilename, rc );
break;
default:
@@ -849,7 +850,6 @@ static int os2Access(
}
-
/*
** Turn a relative pathname into a full pathname. Write the full
** pathname into zFull[]. zFull[] will be at least pVfs->mxPathname