SQLite

Check-in [1b807b51cd]
Login

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

Overview
Comment:Work around a sanitizer warning about a pointer being only 4-byte aligned instead of 8-byte aligned.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | align8-fix
Files: files | file ages | folders
SHA3-256: 1b807b51cdf455b4f54216b73fd22bbc90f94e24222401e045f88cfd27f487e3
User & Date: drh 2018-06-02 16:32:04.483
Context
2018-06-02
19:14
Avoid using a misaligned pointer. (check-in: 1ecb3aa13d user: drh tags: trunk)
16:32
Work around a sanitizer warning about a pointer being only 4-byte aligned instead of 8-byte aligned. (Closed-Leaf check-in: 1b807b51cd user: drh tags: align8-fix)
12:05
Fix the CSV extension so that it works with single-column CSV files. (check-in: e336cf0048 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/btree.c.
860
861
862
863
864
865
866



867

868
869
870
871
872
873
874
**
** Calling this routine with a NULL cursor pointer returns false.
**
** Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor
** back to where it ought to be if this routine returns true.
*/
int sqlite3BtreeCursorHasMoved(BtCursor *pCur){



  return pCur->eState!=CURSOR_VALID;

}

/*
** Return a pointer to a fake BtCursor object that will always answer
** false to the sqlite3BtreeCursorHasMoved() routine above.  The fake
** cursor returned must not be used with any other Btree interface.
*/







>
>
>
|
>







860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
**
** Calling this routine with a NULL cursor pointer returns false.
**
** Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor
** back to where it ought to be if this routine returns true.
*/
int sqlite3BtreeCursorHasMoved(BtCursor *pCur){
  assert( EIGHT_BYTE_ALIGNMENT(pCur)
       || pCur==sqlite3BtreeFakeValidCursor() );
  assert( offsetof(BtCursor, eState)==0 );
  assert( sizeof(pCur->eState)==1 );
  return CURSOR_VALID != *(u8*)pCur;
}

/*
** Return a pointer to a fake BtCursor object that will always answer
** false to the sqlite3BtreeCursorHasMoved() routine above.  The fake
** cursor returned must not be used with any other Btree interface.
*/