Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Avoid passing a negative value to isspace() in a couple places. (CVS 4016) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
d5db8be3680e16a74edb385dfa3730c6 |
User & Date: | danielk1977 2007-05-16 17:50:46 |
Context
2007-05-16
| ||
18:11 | Fix handling of utf-16 encoding of code point 0xE000. (CVS 4017) check-in: bfc35ce8 user: danielk1977 tags: trunk | |
17:50 | Avoid passing a negative value to isspace() in a couple places. (CVS 4016) check-in: d5db8be3 user: danielk1977 tags: trunk | |
17:28 | Change a few selected functions to macros to speed things up. (CVS 4015) check-in: 93f811ec user: danielk1977 tags: trunk | |
Changes
Changes to src/util.c.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ... 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 ... 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 |
** ************************************************************************* ** Utility functions used throughout sqlite. ** ** This file contains functions for allocating memory, comparing ** strings, and stuff like that. ** ** $Id: util.c,v 1.204 2007/05/16 17:28:43 danielk1977 Exp $ */ #include "sqliteInt.h" #include "os.h" #include <stdarg.h> #include <ctype.h> ................................................................................ ** for SQL. So this routine always uses "." regardless of locale. */ int sqlite3AtoF(const char *z, double *pResult){ #ifndef SQLITE_OMIT_FLOATING_POINT int sign = 1; const char *zBegin = z; LONGDOUBLE_TYPE v1 = 0.0; while( isspace(*z) ) z++; if( *z=='-' ){ sign = -1; z++; }else if( *z=='+' ){ z++; } while( isdigit(*(u8*)z) ){ ................................................................................ ** 32-bit numbers. At that time, it was much faster than the ** atoi() library routine in RedHat 7.2. */ int sqlite3Atoi64(const char *zNum, i64 *pNum){ i64 v = 0; int neg; int i, c; while( isspace(*zNum) ) zNum++; if( *zNum=='-' ){ neg = 1; zNum++; }else if( *zNum=='+' ){ neg = 0; zNum++; }else{ |
| | | |
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ... 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 ... 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 |
** ************************************************************************* ** Utility functions used throughout sqlite. ** ** This file contains functions for allocating memory, comparing ** strings, and stuff like that. ** ** $Id: util.c,v 1.205 2007/05/16 17:50:46 danielk1977 Exp $ */ #include "sqliteInt.h" #include "os.h" #include <stdarg.h> #include <ctype.h> ................................................................................ ** for SQL. So this routine always uses "." regardless of locale. */ int sqlite3AtoF(const char *z, double *pResult){ #ifndef SQLITE_OMIT_FLOATING_POINT int sign = 1; const char *zBegin = z; LONGDOUBLE_TYPE v1 = 0.0; while( isspace(*(u8*)z) ) z++; if( *z=='-' ){ sign = -1; z++; }else if( *z=='+' ){ z++; } while( isdigit(*(u8*)z) ){ ................................................................................ ** 32-bit numbers. At that time, it was much faster than the ** atoi() library routine in RedHat 7.2. */ int sqlite3Atoi64(const char *zNum, i64 *pNum){ i64 v = 0; int neg; int i, c; while( isspace(*(u8*)zNum) ) zNum++; if( *zNum=='-' ){ neg = 1; zNum++; }else if( *zNum=='+' ){ neg = 0; zNum++; }else{ |
Changes to src/vdbeaux.c.
786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 |
VdbeOp *pOp; if( sqlite3_io_trace==0 ) return; if( nOp<1 ) return; pOp = &p->aOp[nOp-1]; if( pOp->opcode==OP_Noop && pOp->p3!=0 ){ char *z = sqlite3StrDup(pOp->p3); int i, j; for(i=0; isspace(z[i]); i++){} for(j=0; z[i]; i++){ if( isspace(z[i]) ){ if( z[i-1]!=' ' ){ z[j++] = ' '; } }else{ z[j++] = z[i]; } } |
| | |
786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 |
VdbeOp *pOp; if( sqlite3_io_trace==0 ) return; if( nOp<1 ) return; pOp = &p->aOp[nOp-1]; if( pOp->opcode==OP_Noop && pOp->p3!=0 ){ char *z = sqlite3StrDup(pOp->p3); int i, j; for(i=0; isspace((unsigned char)z[i]); i++){} for(j=0; z[i]; i++){ if( isspace((unsigned char)z[i]) ){ if( z[i-1]!=' ' ){ z[j++] = ' '; } }else{ z[j++] = z[i]; } } |