Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix the data decoder so that it correctly handles +Inf and -Inf. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
c04b47fd62de727a3f0e174ad236f6b0 |
User & Date: | drh 2013-02-11 18:33:54.503 |
Context
2013-02-13
| ||
12:28 | Change the API for binding strings and blobs so that the destructor now carries an extra argument which can be used as the sqlite4_env pointer, thus allowing functions like sqlite4_free() to be used as a string or blob destructor. check-in: 56335097b1 user: drh tags: trunk | |
2013-02-11
| ||
18:33 | Fix the data decoder so that it correctly handles +Inf and -Inf. check-in: c04b47fd62 user: drh tags: trunk | |
16:04 | Fix a memory leak in DETACH. check-in: 9b03a19a30 user: drh tags: trunk | |
Changes
Changes to src/vdbecodec.c.
︙ | ︙ | |||
127 128 129 130 131 132 133 | e = (int)x; n += sqlite4GetVarint64(p->a+ofst+n, p->n-(ofst+n), &x); if( n!=size ) return SQLITE4_CORRUPT; r = (double)x; if( e&1 ) r = -r; if( e&2 ){ e = -(e>>2); | > > > | | > | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | e = (int)x; n += sqlite4GetVarint64(p->a+ofst+n, p->n-(ofst+n), &x); if( n!=size ) return SQLITE4_CORRUPT; r = (double)x; if( e&1 ) r = -r; if( e&2 ){ e = -(e>>2); if( e==0 ){ r *= 1e+300*1e+300; }else{ while( e<=-10 ){ r /= 1.0e10; e += 10; } while( e<0 ){ r /= 10.0; e++; } } }else{ e = e>>2; while( e>=10 ){ r *= 1.0e10; e -= 10; } while( e>0 ){ r *= 10.0; e--; } } sqlite4VdbeMemSetDouble(pOut, r); }else if( cclass==0 ){ |
︙ | ︙ |