/ Check-in [fcf85bfe]
Login

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

Overview
Comment:Remove an unnecessary conditional from the sqlite3DecOrHexToI64() routine.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:fcf85bfe50b254e825ee63a4cd0aa0b333b06eed
User & Date: drh 2016-04-28 03:52:18
Context
2016-04-28
14:15
Use comments to mark several branches as optimizations. No changes to code. check-in: 33e62747 user: drh tags: trunk
03:52
Remove an unnecessary conditional from the sqlite3DecOrHexToI64() routine. check-in: fcf85bfe user: drh tags: trunk
00:32
Change the sqlite3Atoi64() routine so that it returns failure if not all of the input characters are consumed, even if it consumed all characters up to the first 0x00. This has no impact on external APIs as far as I can tell. check-in: 46d4ffff user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/util.c.

   654    654   **     1    Integer too large for a 64-bit signed integer or is malformed
   655    655   **     2    Special case of 9223372036854775808
   656    656   */
   657    657   int sqlite3DecOrHexToI64(const char *z, i64 *pOut){
   658    658   #ifndef SQLITE_OMIT_HEX_INTEGER
   659    659     if( z[0]=='0'
   660    660      && (z[1]=='x' || z[1]=='X')
   661         -   && sqlite3Isxdigit(z[2])
   662    661     ){
   663    662       u64 u = 0;
   664    663       int i, k;
   665    664       for(i=2; z[i]=='0'; i++){}
   666    665       for(k=i; sqlite3Isxdigit(z[k]); k++){
   667    666         u = u*16 + sqlite3HexToInt(z[k]);
   668    667       }