| line |
true |
false |
branch |
|
254
|
0 |
6199 |
if( (p = malloc(n))==0 ){ |
|
255
|
0 |
0 |
if( n>0 ) sqlite_malloc_failed++; |
|
268
|
0 |
4696 |
if( (p = malloc(n))==0 ){ |
|
269
|
0 |
0 |
if( n>0 ) sqlite_malloc_failed++; |
|
278
|
10844 |
9589 |
if( p ){ |
|
290
|
1113 |
78 |
if( p==0 ){ |
|
293
|
0 |
78 |
if( n==0 ){ |
|
298
|
0 |
78 |
if( p2==0 ){ |
|
309
|
0 |
33 |
if( z==0 ) return 0; |
|
311
|
33 |
0 |
if( zNew ) strcpy(zNew, z); |
|
316
|
0 |
688 |
if( z==0 ) return 0; |
|
318
|
688 |
0 |
if( zNew ){ |
|
339
|
0 |
147 |
if( pz==0 ) return; |
|
342
|
455 |
108 |
while( (z = va_arg(ap, const char*))!=0 ){ |
|
|
416 |
147 |
while( (z = va_arg(ap, const char*))!=0 ){ |
|
348
|
0 |
147 |
if( zResult==0 ){ |
|
354
|
455 |
108 |
while( (z = va_arg(ap, const char*))!=0 ){ |
|
|
416 |
147 |
while( (z = va_arg(ap, const char*))!=0 ){ |
|
380
|
0 |
2024 |
if( pz==0 ) return; |
|
383
|
4048 |
0 |
while( (z = va_arg(ap, const char*))!=0 ){ |
|
|
2024 |
2024 |
while( (z = va_arg(ap, const char*))!=0 ){ |
|
384
|
2024 |
0 |
n = va_arg(ap, int); |
|
385
|
456 |
1568 |
if( n<=0 ) n = strlen(z); |
|
391
|
0 |
2024 |
if( zResult==0 ) return; |
|
393
|
4048 |
0 |
while( (z = va_arg(ap, const char*))!=0 ){ |
|
|
2024 |
2024 |
while( (z = va_arg(ap, const char*))!=0 ){ |
|
394
|
2024 |
0 |
n = va_arg(ap, int); |
|
395
|
456 |
1568 |
if( n<=0 ) n = strlen(z); |
|
440
|
0 |
1469 |
if( z==0 ) return; |
|
448
|
34021 |
0 |
for(i=1, j=0; z[i]; i++){ |
|
449
|
271 |
33750 |
if( z[i]==quote ){ |
|
450
|
128 |
143 |
if( z[i+1]==quote ){ |
|
490
|
0 |
8454 |
if( n<=0 ) n = strlen(z); |
|
491
|
53067 |
8454 |
while( n > 0 ){ |
|
506
|
5463 |
626 |
while( *a!=0 && UpperToLower[*a]==UpperToLower[*b]){ a++; b++; } |
|
|
3741 |
1722 |
while( *a!=0 && UpperToLower[*a]==UpperToLower[*b]){ a++; b++; } |
|
513
|
16696 |
2441 |
while( N-- > 0 && *a!=0 && UpperToLower[*a]==UpperToLower[*b]){ a++; b++; } |
|
|
16456 |
240 |
while( N-- > 0 && *a!=0 && UpperToLower[*a]==UpperToLower[*b]){ a++; b++; } |
|
|
15778 |
678 |
while( N-- > 0 && *a!=0 && UpperToLower[*a]==UpperToLower[*b]){ a++; b++; } |
|
514
|
918 |
2441 |
return N<0 ? 0 : UpperToLower[*a] - UpperToLower[*b]; |
|
524
|
100 |
0 |
if( *z=='-' || *z=='+' ) z++; |
|
|
0 |
100 |
if( *z=='-' || *z=='+' ) z++; |
|
525
|
87 |
13 |
if( !isdigit(*z) ){ |
|
529
|
0 |
13 |
while( isdigit(*z) ){ z++; } |
|
530
|
0 |
13 |
if( *z=='.' ){ |
|
532
|
0 |
0 |
if( !isdigit(*z) ) return 0; |
|
533
|
0 |
0 |
while( isdigit(*z) ){ z++; } |
|
535
|
13 |
0 |
if( *z=='e' || *z=='E' ){ |
|
|
0 |
13 |
if( *z=='e' || *z=='E' ){ |
|
537
|
0 |
0 |
if( *z=='+' || *z=='-' ) z++; |
|
|
0 |
0 |
if( *z=='+' || *z=='-' ) z++; |
|
538
|
0 |
0 |
if( !isdigit(*z) ) return 0; |
|
539
|
0 |
0 |
while( isdigit(*z) ){ z++; } |
|
559
|
0 |
13 |
if( *z=='-' ){ |
|
562
|
0 |
13 |
}else if( *z=='+' ){ |
|
565
|
13 |
13 |
while( isdigit(*z) ){ |
|
569
|
0 |
13 |
if( *z=='.' ){ |
|
572
|
0 |
0 |
while( isdigit(*z) ){ |
|
579
|
13 |
0 |
if( *z=='e' || *z=='E' ){ |
|
|
0 |
13 |
if( *z=='e' || *z=='E' ){ |
|
584
|
0 |
0 |
if( *z=='-' ){ |
|
587
|
0 |
0 |
}else if( *z=='+' ){ |
|
590
|
0 |
0 |
while( isdigit(*z) ){ |
|
594
|
0 |
0 |
while( eval>=64 ){ scale *= 1.0e+64; eval -= 64; } |
|
595
|
0 |
0 |
while( eval>=16 ){ scale *= 1.0e+16; eval -= 16; } |
|
596
|
0 |
0 |
while( eval>=4 ){ scale *= 1.0e+4; eval -= 4; } |
|
597
|
0 |
0 |
while( eval>=1 ){ scale *= 1.0e+1; eval -= 1; } |
|
598
|
0 |
0 |
if( esign<0 ){ |
|
604
|
0 |
13 |
if( pzEnd ) *pzEnd = z; |
|
605
|
0 |
13 |
return sign<0 ? -v1 : v1; |
|
621
|
119 |
0 |
if( *zNum=='-' || *zNum=='+' ) zNum++; |
|
|
0 |
119 |
if( *zNum=='-' || *zNum=='+' ) zNum++; |
|
622
|
122 |
119 |
for(i=0; (c=zNum[i])>='0' && c<='9'; i++){} |
|
|
122 |
0 |
for(i=0; (c=zNum[i])>='0' && c<='9'; i++){} |
|
623
|
0 |
119 |
return i<10 || (i==10 && memcmp(zNum,"2147483647",10)<=0); |
|
|
0 |
0 |
return i<10 || (i==10 && memcmp(zNum,"2147483647",10)<=0); |
|
|
0 |
0 |
return i<10 || (i==10 && memcmp(zNum,"2147483647",10)<=0); |
|
642
|
0 |
15 |
if( atext==0 ){ |
|
644
|
0 |
15 |
}else if( btext==0 ){ |
|
649
|
0 |
15 |
if( isNumA ){ |
|
650
|
0 |
0 |
if( !isNumB ){ |
|
656
|
0 |
0 |
if( rA
|
|
658
|
0 |
0 |
}else if( rA>rB ){ |
|
664
|
0 |
15 |
}else if( isNumB ){ |
|
718
|
45 |
0 |
while( res==0 && *a && *b ){ |
|
|
45 |
0 |
while( res==0 && *a && *b ){ |
|
|
45 |
0 |
while( res==0 && *a && *b ){ |
|
719
|
33 |
12 |
if( a[0]=='N' || b[0]=='N' ){ |
|
|
0 |
33 |
if( a[0]=='N' || b[0]=='N' ){ |
|
720
|
12 |
0 |
if( a[0]==b[0] ){ |
|
725
|
0 |
0 |
if( a[0]=='N' ){ |
|
735
|
33 |
0 |
if( (dir=a[0])=='A' || a[0]=='D' ){ |
|
|
0 |
33 |
if( (dir=a[0])=='A' || a[0]=='D' ){ |
|
737
|
0 |
0 |
if( res ) break; |
|
741
|
5 |
28 |
if( isNumA ){ |
|
743
|
0 |
5 |
if( !isNumB ){ |
|
749
|
1 |
4 |
if( rA
|
|
753
|
4 |
0 |
if( rA>rB ){ |
|
757
|
0 |
28 |
}else if( isNumB ){ |
|
762
|
16 |
12 |
if( res ) break; |
|
768
|
21 |
0 |
if( dir=='-' || dir=='D' ) res = -res; |
|
|
0 |
21 |
if( dir=='-' || dir=='D' ) res = -res; |
|
811
|
0 |
4 |
if( r<0.0 ){ |
|
821
|
0 |
4 |
if( r==0.0 ){ |
|
823
|
0 |
4 |
}else if( r<(0.5/64.0) ){ |
|
824
|
0 |
0 |
while( r < 0.5/_64e64 && exp > -961 ){ r *= _64e64; exp -= 64; } |
|
|
0 |
0 |
while( r < 0.5/_64e64 && exp > -961 ){ r *= _64e64; exp -= 64; } |
|
825
|
0 |
0 |
while( r < 0.5/_64e16 && exp > -1009 ){ r *= _64e16; exp -= 16; } |
|
|
0 |
0 |
while( r < 0.5/_64e16 && exp > -1009 ){ r *= _64e16; exp -= 16; } |
|
826
|
0 |
0 |
while( r < 0.5/_64e4 && exp > -1021 ){ r *= _64e4; exp -= 4; } |
|
|
0 |
0 |
while( r < 0.5/_64e4 && exp > -1021 ){ r *= _64e4; exp -= 4; } |
|
827
|
0 |
0 |
while( r < 0.5/64.0 && exp > -1024 ){ r *= 64.0; exp -= 1; } |
|
|
0 |
0 |
while( r < 0.5/64.0 && exp > -1024 ){ r *= 64.0; exp -= 1; } |
|
828
|
4 |
0 |
}else if( r>=0.5 ){ |
|
829
|
0 |
4 |
while( r >= 0.5*_64e63 && exp < 960 ){ r *= 1.0/_64e64; exp += 64; } |
|
|
0 |
0 |
while( r >= 0.5*_64e63 && exp < 960 ){ r *= 1.0/_64e64; exp += 64; } |
|
830
|
0 |
4 |
while( r >= 0.5*_64e15 && exp < 1008 ){ r *= 1.0/_64e16; exp += 16; } |
|
|
0 |
0 |
while( r >= 0.5*_64e15 && exp < 1008 ){ r *= 1.0/_64e16; exp += 16; } |
|
831
|
0 |
4 |
while( r >= 0.5*_64e3 && exp < 1020 ){ r *= 1.0/_64e4; exp += 4; } |
|
|
0 |
0 |
while( r >= 0.5*_64e3 && exp < 1020 ){ r *= 1.0/_64e4; exp += 4; } |
|
832
|
4 |
4 |
while( r >= 0.5 && exp < 1023 ){ r *= 1.0/64.0; exp += 1; } |
|
|
4 |
0 |
while( r >= 0.5 && exp < 1023 ){ r *= 1.0/64.0; exp += 1; } |
|
834
|
0 |
4 |
if( neg ){ |
|
840
|
0 |
4 |
if( exp<0 ) return; |
|
841
|
4 |
0 |
if( exp>=2048 || r>=1.0 ){ |
|
|
0 |
4 |
if( exp>=2048 || r>=1.0 ){ |
|
847
|
4 |
4 |
while( r>0.0 && cnt<10 ){ |
|
|
4 |
0 |
while( r>0.0 && cnt<10 ){ |
|
907
|
0 |
0 |
while( (0xc0&*z)==0x80 ){ |
|
949
|
0 |
0 |
while( (c = *zPattern)!=0 ){ |
|
952
|
0 |
0 |
while( (c=zPattern[1]) == '*' || c == '?' ){ |
|
|
0 |
0 |
while( (c=zPattern[1]) == '*' || c == '?' ){ |
|
953
|
0 |
0 |
if( c=='?' ){ |
|
954
|
0 |
0 |
if( *zString==0 ) return 0; |
|
955
|
0 |
0 |
sqliteNextChar(zString); |
|
959
|
0 |
0 |
if( c==0 ) return 1; |
|
960
|
0 |
0 |
if( c=='[' ){ |
|
961
|
0 |
0 |
while( *zString && sqliteGlobCompare(&zPattern[1],zString)==0 ){ |
|
|
0 |
0 |
while( *zString && sqliteGlobCompare(&zPattern[1],zString)==0 ){ |
|
962
|
0 |
0 |
sqliteNextChar(zString); |
|
966
|
0 |
0 |
while( (c2 = *zString)!=0 ){ |
|
967
|
0 |
0 |
while( c2 != 0 && c2 != c ){ c2 = *++zString; } |
|
|
0 |
0 |
while( c2 != 0 && c2 != c ){ c2 = *++zString; } |
|
968
|
0 |
0 |
if( c2==0 ) return 0; |
|
969
|
0 |
0 |
if( sqliteGlobCompare(&zPattern[1],zString) ) return 1; |
|
970
|
0 |
0 |
sqliteNextChar(zString); |
|
975
|
0 |
0 |
if( *zString==0 ) return 0; |
|
976
|
0 |
0 |
sqliteNextChar(zString); |
|
985
|
0 |
0 |
if( c==0 ) return 0; |
|
987
|
0 |
0 |
if( c2=='^' ){ invert = 1; c2 = *++zPattern; } |
|
988
|
0 |
0 |
if( c2==']' ){ |
|
989
|
0 |
0 |
if( c==']' ) seen = 1; |
|
992
|
0 |
0 |
while( (c2 = sqliteCharVal(zPattern))!=0 && c2!=']' ){ |
|
|
0 |
0 |
while( (c2 = sqliteCharVal(zPattern))!=0 && c2!=']' ){ |
|
993
|
0 |
0 |
if( c2=='-' && zPattern[1]!=']' && zPattern[1]!=0 && prior_c>0 ){ |
|
|
0 |
0 |
if( c2=='-' && zPattern[1]!=']' && zPattern[1]!=0 && prior_c>0 ){ |
|
|
0 |
0 |
if( c2=='-' && zPattern[1]!=']' && zPattern[1]!=0 && prior_c>0 ){ |
|
|
0 |
0 |
if( c2=='-' && zPattern[1]!=']' && zPattern[1]!=0 && prior_c>0 ){ |
|
996
|
0 |
0 |
if( c>=prior_c && c<=c2 ) seen = 1; |
|
|
0 |
0 |
if( c>=prior_c && c<=c2 ) seen = 1; |
|
998
|
0 |
0 |
}else if( c==c2 ){ |
|
1004
|
0 |
0 |
sqliteNextChar(zPattern); |
|
1006
|
0 |
0 |
if( c2==0 || (seen ^ invert)==0 ) return 0; |
|
|
0 |
0 |
if( c2==0 || (seen ^ invert)==0 ) return 0; |
|
1007
|
0 |
0 |
sqliteNextChar(zString); |
|
1012
|
0 |
0 |
if( c != *zString ) return 0; |
|
1036
|
58 |
2 |
while( (c = UpperToLower[*zPattern])!=0 ){ |
|
1039
|
0 |
8 |
while( (c=zPattern[1]) == '%' || c == '_' ){ |
|
|
0 |
8 |
while( (c=zPattern[1]) == '%' || c == '_' ){ |
|
1040
|
0 |
0 |
if( c=='_' ){ |
|
1041
|
0 |
0 |
if( *zString==0 ) return 0; |
|
1042
|
0 |
0 |
sqliteNextChar(zString); |
|
1046
|
8 |
0 |
if( c==0 ) return 1; |
|
1048
|
0 |
0 |
while( (c2=UpperToLower[*zString])!=0 ){ |
|
1049
|
0 |
0 |
while( c2 != 0 && c2 != c ){ c2 = UpperToLower[*++zString]; } |
|
|
0 |
0 |
while( c2 != 0 && c2 != c ){ c2 = UpperToLower[*++zString]; } |
|
1050
|
0 |
0 |
if( c2==0 ) return 0; |
|
1051
|
0 |
0 |
if( sqliteLikeCompare(&zPattern[1],zString) ) return 1; |
|
1052
|
0 |
0 |
sqliteNextChar(zString); |
|
1057
|
0 |
0 |
if( *zString==0 ) return 0; |
|
1058
|
0 |
0 |
sqliteNextChar(zString); |
|
1063
|
16 |
34 |
if( c != UpperToLower[*zString] ) return 0; |
|
1092
|
980 |
0 |
if( db->magic==SQLITE_MAGIC_OPEN ){ |
|
1095
|
0 |
0 |
}else if( db->magic==SQLITE_MAGIC_BUSY || db->magic==SQLITE_MAGIC_ERROR |
|
|
0 |
0 |
}else if( db->magic==SQLITE_MAGIC_BUSY || db->magic==SQLITE_MAGIC_ERROR |
|
1096
|
0 |
0 |
|| db->want_to_close ){ |
|
1109
|
955 |
0 |
if( db->magic==SQLITE_MAGIC_BUSY ){ |
|
1112
|
0 |
0 |
}else if( db->magic==SQLITE_MAGIC_OPEN || db->magic==SQLITE_MAGIC_ERROR |
|
|
0 |
0 |
}else if( db->magic==SQLITE_MAGIC_OPEN || db->magic==SQLITE_MAGIC_ERROR |
|
1113
|
0 |
0 |
|| db->want_to_close ){ |
|
1130
|
0 |
942 |
if( db->pVdbe!=0 ){ |