SQLite

Check-in [1ef6458bee]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:check that DosWrite() was successful before trying again (CVS 5125)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 1ef6458bee4f0f77ded7c532f196d4c876ec9649
User & Date: pweilbacher 2008-05-12 16:56:14.000
Context
2008-05-13
00:57
Update the autoconf makefile so that it includes -lpthread. (CVS 5126) (check-in: bd654ebdbe user: drh tags: trunk)
2008-05-12
16:56
check that DosWrite() was successful before trying again (CVS 5125) (check-in: 1ef6458bee user: pweilbacher tags: trunk)
16:17
Add "b" to fopen() in the hexio tests so that extra carriage returns are not inserted on win32 and OS/2. Test harness change only - no changes to the core SQLite code. (CVS 5124) (check-in: 68cbc6b45c user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/os_os2.c.
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
  SimulateDiskfullError( return SQLITE_FULL );
  OSTRACE3( "WRITE %d lock=%d\n", pFile->h, pFile->locktype );
  if( DosSetFilePtr(pFile->h, offset, FILE_BEGIN, &fileLocation) != NO_ERROR ){
    return SQLITE_IOERR;
  }
  assert( amt>0 );
  while( amt > 0 &&
         ( rc = DosWrite( pFile->h, (PVOID)pBuf, amt, &wrote ) ) != NO_ERROR &&
         wrote > 0
  ){
    amt -= wrote;
    pBuf = &((char*)pBuf)[wrote];
  }

  return ( rc != NO_ERROR || amt > (int)wrote ) ? SQLITE_FULL : SQLITE_OK;







|







146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
  SimulateDiskfullError( return SQLITE_FULL );
  OSTRACE3( "WRITE %d lock=%d\n", pFile->h, pFile->locktype );
  if( DosSetFilePtr(pFile->h, offset, FILE_BEGIN, &fileLocation) != NO_ERROR ){
    return SQLITE_IOERR;
  }
  assert( amt>0 );
  while( amt > 0 &&
         ( rc = DosWrite( pFile->h, (PVOID)pBuf, amt, &wrote ) ) == NO_ERROR &&
         wrote > 0
  ){
    amt -= wrote;
    pBuf = &((char*)pBuf)[wrote];
  }

  return ( rc != NO_ERROR || amt > (int)wrote ) ? SQLITE_FULL : SQLITE_OK;