/ Check-in [1924ba52]
Login

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

Overview
Comment:Work around a bug in GCC. Ticket #2469. (CVS 4173)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 1924ba5207bdc8d503c17cd9460c1a9f9c357635
User & Date: drh 2007-07-21 19:41:46
Context
2007-07-22
19:10
Fix a bad sizeof in vdbe.c. Ticket #2522. (CVS 4174) check-in: 77ebc3fe user: drh tags: trunk
2007-07-21
19:41
Work around a bug in GCC. Ticket #2469. (CVS 4173) check-in: 1924ba52 user: drh tags: trunk
2007-07-20
20:25
Work around an AFP file system byte-range locking error caused by opening and closing a second file descriptor on the database file as RDWR which clears the exclusive byte-range lock and results in an fcntl error when the AFP locking code attempts to clear it afterwards. This error is caused by the test harness and isn't a flaw in the sqlite or its implementation of AFP file locking. (CVS 4172) check-in: b2ba3e81 user: aswift tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/vdbe.c.

    39     39   **
    40     40   ** Various scripts scan this source file in order to generate HTML
    41     41   ** documentation, headers files, or other derived files.  The formatting
    42     42   ** of the code in this file is, therefore, important.  See other comments
    43     43   ** in this file for details.  If in doubt, do not deviate from existing
    44     44   ** commenting and indentation practices when changing or adding code.
    45     45   **
    46         -** $Id: vdbe.c,v 1.636 2007/07/01 21:18:40 drh Exp $
           46  +** $Id: vdbe.c,v 1.637 2007/07/21 19:41:46 drh Exp $
    47     47   */
    48     48   #include "sqliteInt.h"
    49     49   #include "os.h"
    50     50   #include <ctype.h>
    51     51   #include <math.h>
    52     52   #include "vdbeInt.h"
    53     53   
................................................................................
  4302   4302     aRoot = sqliteMallocRaw( sizeof(int*)*(nRoot+1) );
  4303   4303     if( aRoot==0 ) goto no_mem;
  4304   4304     j = pOp->p1;
  4305   4305     assert( j>=0 && j<p->nMem );
  4306   4306     pnErr = &p->aMem[j];
  4307   4307     assert( (pnErr->flags & MEM_Int)!=0 );
  4308   4308     for(j=0; j<nRoot; j++){
  4309         -    aRoot[j] = pTos[-j].u.i;
         4309  +    aRoot[j] = (pTos-j)->u.i;
  4310   4310     }
  4311   4311     aRoot[j] = 0;
  4312   4312     popStack(&pTos, nRoot);
  4313   4313     pTos++;
  4314   4314     z = sqlite3BtreeIntegrityCheck(db->aDb[pOp->p2].pBt, aRoot, nRoot,
  4315   4315                                    pnErr->u.i, &nErr);
  4316   4316     pnErr->u.i -= nErr;