OpenCoverage

printf.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/sqlite/src/src/printf.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2** The "printf" code that follows dates from the 1980's. It is in-
3** the public domain. -
4**-
5**************************************************************************-
6**-
7** This file contains code for a set of "printf"-like routines. These-
8** routines format strings much like the printf() from the standard C-
9** library, though the implementation here has enhancements to support-
10** SQLite.-
11*/-
12#include "sqliteInt.h"-
13-
14/*-
15** Conversion types fall into various categories as defined by the-
16** following enumeration.-
17*/-
18#define etRADIX 0 /* non-decimal integer types. %x %o */-
19#define etFLOAT 1 /* Floating point. %f */-
20#define etEXP 2 /* Exponentional notation. %e and %E */-
21#define etGENERIC 3 /* Floating or exponential, depending on exponent. %g */-
22#define etSIZE 4 /* Return number of characters processed so far. %n */-
23#define etSTRING 5 /* Strings. %s */-
24#define etDYNSTRING 6 /* Dynamically allocated strings. %z */-
25#define etPERCENT 7 /* Percent symbol. %% */-
26#define etCHARX 8 /* Characters. %c */-
27/* The rest are extensions, not normally found in printf() */-
28#define etSQLESCAPE 9 /* Strings with '\'' doubled. %q */-
29#define etSQLESCAPE2 10 /* Strings with '\'' doubled and enclosed in '',-
30 NULL pointers replaced by SQL NULL. %Q */-
31#define etTOKEN 11 /* a pointer to a Token structure */-
32#define etSRCLIST 12 /* a pointer to a SrcList */-
33#define etPOINTER 13 /* The %p conversion */-
34#define etSQLESCAPE3 14 /* %w -> Strings with '\"' doubled */-
35#define etORDINAL 15 /* %r -> 1st, 2nd, 3rd, 4th, etc. English only */-
36#define etDECIMAL 16 /* %d or %u, but not %x, %o */-
37-
38#define etINVALID 17 /* Any unrecognized conversion type */-
39-
40-
41/*-
42** An "etByte" is an 8-bit unsigned value.-
43*/-
44typedef unsigned char etByte;-
45-
46/*-
47** Each builtin conversion character (ex: the 'd' in "%d") is described-
48** by an instance of the following structure-
49*/-
50typedef struct et_info { /* Information about each format field */-
51 char fmttype; /* The format field code letter */-
52 etByte base; /* The base for radix conversion */-
53 etByte flags; /* One or more of FLAG_ constants below */-
54 etByte type; /* Conversion paradigm */-
55 etByte charset; /* Offset into aDigits[] of the digits string */-
56 etByte prefix; /* Offset into aPrefix[] of the prefix string */-
57} et_info;-
58-
59/*-
60** Allowed values for et_info.flags-
61*/-
62#define FLAG_SIGNED 1 /* True if the value to convert is signed */-
63#define FLAG_STRING 4 /* Allow infinite precision */-
64-
65-
66/*-
67** The following table is searched linearly, so it is good to put the-
68** most frequently used conversion types first.-
69*/-
70static const char aDigits[] = "0123456789ABCDEF0123456789abcdef";-
71static const char aPrefix[] = "-x0\000X0";-
72static const et_info fmtinfo[] = {-
73 { 'd', 10, 1, etDECIMAL, 0, 0 },-
74 { 's', 0, 4, etSTRING, 0, 0 },-
75 { 'g', 0, 1, etGENERIC, 30, 0 },-
76 { 'z', 0, 4, etDYNSTRING, 0, 0 },-
77 { 'q', 0, 4, etSQLESCAPE, 0, 0 },-
78 { 'Q', 0, 4, etSQLESCAPE2, 0, 0 },-
79 { 'w', 0, 4, etSQLESCAPE3, 0, 0 },-
80 { 'c', 0, 0, etCHARX, 0, 0 },-
81 { 'o', 8, 0, etRADIX, 0, 2 },-
82 { 'u', 10, 0, etDECIMAL, 0, 0 },-
83 { 'x', 16, 0, etRADIX, 16, 1 },-
84 { 'X', 16, 0, etRADIX, 0, 4 },-
85#ifndef SQLITE_OMIT_FLOATING_POINT-
86 { 'f', 0, 1, etFLOAT, 0, 0 },-
87 { 'e', 0, 1, etEXP, 30, 0 },-
88 { 'E', 0, 1, etEXP, 14, 0 },-
89 { 'G', 0, 1, etGENERIC, 14, 0 },-
90#endif-
91 { 'i', 10, 1, etDECIMAL, 0, 0 },-
92 { 'n', 0, 0, etSIZE, 0, 0 },-
93 { '%', 0, 0, etPERCENT, 0, 0 },-
94 { 'p', 16, 0, etPOINTER, 0, 1 },-
95-
96 /* All the rest are undocumented and are for internal use only */-
97 { 'T', 0, 0, etTOKEN, 0, 0 },-
98 { 'S', 0, 0, etSRCLIST, 0, 0 },-
99 { 'r', 10, 1, etORDINAL, 0, 0 },-
100};-
101-
102/*-
103** If SQLITE_OMIT_FLOATING_POINT is defined, then none of the floating point-
104** conversions will work.-
105*/-
106#ifndef SQLITE_OMIT_FLOATING_POINT-
107/*-
108** "*val" is a double such that 0.1 <= *val < 10.0-
109** Return the ascii code for the leading digit of *val, then-
110** multiply "*val" by 10.0 to renormalize.-
111**-
112** Example:-
113** input: *val = 3.14159-
114** output: *val = 1.4159 function return = '3'-
115**-
116** The counter *cnt is incremented each time. After counter exceeds-
117** 16 (the number of significant digits in a 64-bit float) '0' is-
118** always returned.-
119*/-
120static char et_getdigit(LONGDOUBLE_TYPE *val, int *cnt){-
121 int digit;-
122 LONGDOUBLE_TYPE d;-
123 if( (*cnt)<=0 ) return '0';
executed 12983 times by 1 test: return '0';
Executed by:
  • Self test (438)
(*cnt)<=0Description
TRUEevaluated 12983 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2086863 times by 1 test
Evaluated by:
  • Self test (438)
12983-2086863
124 (*cnt)--;-
125 digit = (int)*val;-
126 d = digit;-
127 digit += '0';-
128 *val = (*val - d)*10.0;-
129 return (char)digit;
executed 2086863 times by 1 test: return (char)digit;
Executed by:
  • Self test (438)
2086863
130}-
131#endif /* SQLITE_OMIT_FLOATING_POINT */-
132-
133/*-
134** Set the StrAccum object to an error mode.-
135*/-
136static void setStrAccumError(StrAccum *p, u8 eError){-
137 assert( eError==SQLITE_NOMEM || eError==SQLITE_TOOBIG );-
138 p->accError = eError;-
139 p->nAlloc = 0;-
140}
executed 3357 times by 1 test: end of block
Executed by:
  • Self test (438)
3357
141-
142/*-
143** Extra argument values from a PrintfArguments object-
144*/-
145static sqlite3_int64 getIntArg(PrintfArguments *p){-
146 if( p->nArg<=p->nUsed ) return 0;
executed 5 times by 1 test: return 0;
Executed by:
  • Self test (438)
p->nArg<=p->nUsedDescription
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 12134 times by 1 test
Evaluated by:
  • Self test (438)
5-12134
147 return sqlite3_value_int64(p->apArg[p->nUsed++]);
executed 12134 times by 1 test: return sqlite3_value_int64(p->apArg[p->nUsed++]);
Executed by:
  • Self test (438)
12134
148}-
149static double getDoubleArg(PrintfArguments *p){-
150 if( p->nArg<=p->nUsed ) return 0.0;
executed 4 times by 1 test: return 0.0;
Executed by:
  • Self test (438)
p->nArg<=p->nUsedDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
3-4
151 return sqlite3_value_double(p->apArg[p->nUsed++]);
executed 3 times by 1 test: return sqlite3_value_double(p->apArg[p->nUsed++]);
Executed by:
  • Self test (438)
3
152}-
153static char *getTextArg(PrintfArguments *p){-
154 if( p->nArg<=p->nUsed ) return 0;
executed 4 times by 1 test: return 0;
Executed by:
  • Self test (438)
p->nArg<=p->nUsedDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4282 times by 1 test
Evaluated by:
  • Self test (438)
4-4282
155 return (char*)sqlite3_value_text(p->apArg[p->nUsed++]);
executed 4282 times by 1 test: return (char*)sqlite3_value_text(p->apArg[p->nUsed++]);
Executed by:
  • Self test (438)
4282
156}-
157-
158-
159/*-
160** On machines with a small stack size, you can redefine the-
161** SQLITE_PRINT_BUF_SIZE to be something smaller, if desired.-
162*/-
163#ifndef SQLITE_PRINT_BUF_SIZE-
164# define SQLITE_PRINT_BUF_SIZE 70-
165#endif-
166#define etBUFSIZE SQLITE_PRINT_BUF_SIZE /* Size of the output buffer */-
167-
168/*-
169** Render a string given by "fmt" into the StrAccum object.-
170*/-
171void sqlite3_str_vappendf(-
172 sqlite3_str *pAccum, /* Accumulate results here */-
173 const char *fmt, /* Format string */-
174 va_list ap /* arguments */-
175){-
176 int c; /* Next character in the format string */-
177 char *bufpt; /* Pointer to the conversion buffer */-
178 int precision; /* Precision of the current field */-
179 int length; /* Length of the field */-
180 int idx; /* A general purpose loop counter */-
181 int width; /* Width of the current field */-
182 etByte flag_leftjustify; /* True if "-" flag is present */-
183 etByte flag_prefix; /* '+' or ' ' or 0 for prefix */-
184 etByte flag_alternateform; /* True if "#" flag is present */-
185 etByte flag_altform2; /* True if "!" flag is present */-
186 etByte flag_zeropad; /* True if field width constant starts with zero */-
187 etByte flag_long; /* 1 for the "l" flag, 2 for "ll", 0 by default */-
188 etByte done; /* Loop termination flag */-
189 etByte cThousand; /* Thousands separator for %d and %u */-
190 etByte xtype = etINVALID; /* Conversion paradigm */-
191 u8 bArgList; /* True for SQLITE_PRINTF_SQLFUNC */-
192 char prefix; /* Prefix character. "+" or "-" or " " or '\0'. */-
193 sqlite_uint64 longvalue; /* Value for integer types */-
194 LONGDOUBLE_TYPE realvalue; /* Value for real types */-
195 const et_info *infop; /* Pointer to the appropriate info structure */-
196 char *zOut; /* Rendering buffer */-
197 int nOut; /* Size of the rendering buffer */-
198 char *zExtra = 0; /* Malloced memory used by some conversion */-
199#ifndef SQLITE_OMIT_FLOATING_POINT-
200 int exp, e2; /* exponent of real numbers */-
201 int nsd; /* Number of significant digits returned */-
202 double rounder; /* Used for rounding floating point values */-
203 etByte flag_dp; /* True if decimal point should be shown */-
204 etByte flag_rtz; /* True if trailing zeros should be removed */-
205#endif-
206 PrintfArguments *pArgList = 0; /* Arguments for SQLITE_PRINTF_SQLFUNC */-
207 char buf[etBUFSIZE]; /* Conversion buffer */-
208-
209 /* pAccum never starts out with an empty buffer that was obtained from -
210 ** malloc(). This precondition is required by the mprintf("%z...")-
211 ** optimization. */-
212 assert( pAccum->nChar>0 || (pAccum->printfFlags&SQLITE_PRINTF_MALLOCED)==0 );-
213-
214 bufpt = 0;-
215 if( (pAccum->printfFlags & SQLITE_PRINTF_SQLFUNC)!=0 ){
(pAccum->print...ags & 0x02)!=0Description
TRUEevaluated 12012 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1292734 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
12012-1292734
216 pArgList = va_arg(ap, PrintfArguments*);-
217 bArgList = 1;-
218 }else{
executed 12012 times by 1 test: end of block
Executed by:
  • Self test (438)
12012
219 bArgList = 0;-
220 }
executed 1292734 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1292734
221 for(; (c=(*fmt))!=0; ++fmt){
(c=(*fmt))!=0Description
TRUEevaluated 2691848 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 722111 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
722111-2691848
222 if( c!='%' ){
c!='%'Description
TRUEevaluated 2018267 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 673581 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
673581-2018267
223 bufpt = (char *)fmt;-
224#if HAVE_STRCHRNUL-
225 fmt = strchrnul(fmt, '%');-
226#else-
227 do{ fmt++; }while( *fmt && *fmt != '%' );-
228#endif-
229 sqlite3_str_append(pAccum, bufpt, (int)(fmt - bufpt));-
230 if( *fmt==0 ) break;
executed 582628 times by 438 tests: break;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
*fmt==0Description
TRUEevaluated 582628 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 1435639 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
582628-1435639
231 }
executed 1435639 times by 435 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
1435639
232 if( (c=(*++fmt))==0 ){
(c=(*++fmt))==0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2109219 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1-2109219
233 sqlite3_str_append(pAccum, "%", 1);-
234 break;
executed 1 time by 1 test: break;
Executed by:
  • Self test (438)
1
235 }-
236 /* Find out what flags are present */-
237 flag_leftjustify = flag_prefix = cThousand =-
238 flag_alternateform = flag_altform2 = flag_zeropad = 0;-
239 done = 0;-
240 do{-
241 switch( c ){-
242 case '-': flag_leftjustify = 1; break;
executed 62 times by 1 test: break;
Executed by:
  • Self test (438)
executed 62 times by 1 test: case '-':
Executed by:
  • Self test (438)
62
243 case '+': flag_prefix = '+'; break;
executed 52 times by 1 test: break;
Executed by:
  • Self test (438)
executed 52 times by 1 test: case '+':
Executed by:
  • Self test (438)
52
244 case ' ': flag_prefix = ' '; break;
executed 57 times by 1 test: break;
Executed by:
  • Self test (438)
executed 57 times by 1 test: case ' ':
Executed by:
  • Self test (438)
57
245 case '#': flag_alternateform = 1; break;
executed 162 times by 1 test: break;
Executed by:
  • Self test (438)
executed 162 times by 1 test: case '#':
Executed by:
  • Self test (438)
162
246 case '!': flag_altform2 = 1; break;
executed 130655 times by 1 test: break;
Executed by:
  • Self test (438)
executed 130655 times by 1 test: case '!':
Executed by:
  • Self test (438)
130655
247 case '0': flag_zeropad = 1; break;
executed 31528 times by 4 tests: break;
Executed by:
  • Self test (34)
  • Self test (4)
  • Self test (438)
  • Self test (5)
executed 31528 times by 4 tests: case '0':
Executed by:
  • Self test (34)
  • Self test (4)
  • Self test (438)
  • Self test (5)
31528
248 case ',': cThousand = ','; break;
executed 20 times by 1 test: break;
Executed by:
  • Self test (438)
executed 20 times by 1 test: case ',':
Executed by:
  • Self test (438)
20
249 default: done = 1; break;
executed 2109218 times by 438 tests: break;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
executed 2109218 times by 438 tests: default:
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
2109218
250 }-
251 }while( !done && (c=(*++fmt))!=0 );
!doneDescription
TRUEevaluated 162536 times by 4 tests
Evaluated by:
  • Self test (34)
  • Self test (4)
  • Self test (438)
  • Self test (5)
FALSEevaluated 2109218 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
(c=(*++fmt))!=0Description
TRUEevaluated 162535 times by 4 tests
Evaluated by:
  • Self test (34)
  • Self test (4)
  • Self test (438)
  • Self test (5)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
1-2109218
252 /* Get the field width */-
253 if( c=='*' ){
c=='*'Description
TRUEevaluated 535 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2108684 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
535-2108684
254 if( bArgList ){
bArgListDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 534 times by 1 test
Evaluated by:
  • Self test (438)
1-534
255 width = (int)getIntArg(pArgList);-
256 }else{
executed 1 time by 1 test: end of block
Executed by:
  • Self test (438)
1
257 width = va_arg(ap,int);-
258 }
executed 534 times by 1 test: end of block
Executed by:
  • Self test (438)
534
259 if( width<0 ){
width<0Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 530 times by 1 test
Evaluated by:
  • Self test (438)
5-530
260 flag_leftjustify = 1;-
261 width = width >= -2147483647 ? -width : 0;
width >= -2147483647Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
2-3
262 }
executed 5 times by 1 test: end of block
Executed by:
  • Self test (438)
5
263 c = *++fmt;-
264 }else{
executed 535 times by 1 test: end of block
Executed by:
  • Self test (438)
535
265 unsigned wx = 0;-
266 while( c>='0' && c<='9' ){
c>='0'Description
TRUEevaluated 1959313 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 181749 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
c<='9'Description
TRUEevaluated 32378 times by 4 tests
Evaluated by:
  • Self test (34)
  • Self test (4)
  • Self test (438)
  • Self test (5)
FALSEevaluated 1926935 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
32378-1959313
267 wx = wx*10 + c - '0';-
268 c = *++fmt;-
269 }
executed 32378 times by 4 tests: end of block
Executed by:
  • Self test (34)
  • Self test (4)
  • Self test (438)
  • Self test (5)
32378
270 testcase( wx>0x7fffffff );-
271 width = wx & 0x7fffffff;-
272 }
executed 2108684 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
2108684
273 assert( width>=0 );-
274#ifdef SQLITE_PRINTF_PRECISION_LIMIT-
275 if( width>SQLITE_PRINTF_PRECISION_LIMIT ){-
276 width = SQLITE_PRINTF_PRECISION_LIMIT;-
277 }-
278#endif-
279-
280 /* Get the precision */-
281 if( c=='.' ){
c=='.'Description
TRUEevaluated 181262 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
FALSEevaluated 1927957 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
181262-1927957
282 c = *++fmt;-
283 if( c=='*' ){
c=='*'Description
TRUEevaluated 30323 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
FALSEevaluated 150939 times by 1 test
Evaluated by:
  • Self test (438)
30323-150939
284 if( bArgList ){
bArgListDescription
TRUEevaluated 1143 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 29180 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
1143-29180
285 precision = (int)getIntArg(pArgList);-
286 }else{
executed 1143 times by 1 test: end of block
Executed by:
  • Self test (438)
1143
287 precision = va_arg(ap,int);-
288 }
executed 29180 times by 30 tests: end of block
Executed by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
29180
289 c = *++fmt;-
290 if( precision<0 ){
precision<0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 30321 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
2-30321
291 precision = precision >= -2147483647 ? -precision : -1;
precision >= -2147483647Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
1
292 }
executed 2 times by 1 test: end of block
Executed by:
  • Self test (438)
2
293 }else{
executed 30323 times by 30 tests: end of block
Executed by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
30323
294 unsigned px = 0;-
295 while( c>='0' && c<='9' ){
c>='0'Description
TRUEevaluated 438874 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
c<='9'Description
TRUEevaluated 287936 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 150938 times by 1 test
Evaluated by:
  • Self test (438)
1-438874
296 px = px*10 + c - '0';-
297 c = *++fmt;-
298 }
executed 287936 times by 1 test: end of block
Executed by:
  • Self test (438)
287936
299 testcase( px>0x7fffffff );-
300 precision = px & 0x7fffffff;-
301 }
executed 150939 times by 1 test: end of block
Executed by:
  • Self test (438)
150939
302 }else{-
303 precision = -1;-
304 }
executed 1927957 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1927957
305 assert( precision>=(-1) );-
306#ifdef SQLITE_PRINTF_PRECISION_LIMIT-
307 if( precision>SQLITE_PRINTF_PRECISION_LIMIT ){-
308 precision = SQLITE_PRINTF_PRECISION_LIMIT;-
309 }-
310#endif-
311-
312-
313 /* Get the conversion type modifier */-
314 if( c=='l' ){
c=='l'Description
TRUEevaluated 304269 times by 434 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 1804951 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
304269-1804951
315 flag_long = 1;-
316 c = *++fmt;-
317 if( c=='l' ){
c=='l'Description
TRUEevaluated 304265 times by 434 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
3-304265
318 flag_long = 2;-
319 c = *++fmt;-
320 }
executed 304266 times by 434 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
304266
321 }else{
executed 304269 times by 434 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
304269
322 flag_long = 0;-
323 }
executed 1804951 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1804951
324 /* Fetch the info entry for the field */-
325 infop = &fmtinfo[0];-
326 xtype = etINVALID;-
327 for(idx=0; idx<ArraySize(fmtinfo); idx++){
idx<((int)(siz...(fmtinfo[0])))Description
TRUEevaluated 5882073 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
4-5882073
328 if( c==fmtinfo[idx].fmttype ){
c==fmtinfo[idx].fmttypeDescription
TRUEevaluated 2109216 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 3772857 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
2109216-3772857
329 infop = &fmtinfo[idx];-
330 xtype = infop->type;-
331 break;
executed 2109216 times by 438 tests: break;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
2109216
332 }-
333 }
executed 3772857 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
3772857
334-
335 /*-
336 ** At this point, variables are initialized as follows:-
337 **-
338 ** flag_alternateform TRUE if a '#' is present.-
339 ** flag_altform2 TRUE if a '!' is present.-
340 ** flag_prefix '+' or ' ' or zero-
341 ** flag_leftjustify TRUE if a '-' is present or if the-
342 ** field width was negative.-
343 ** flag_zeropad TRUE if the width began with 0.-
344 ** flag_long 1 for "l", 2 for "ll"-
345 ** width The specified field width. This is-
346 ** always non-negative. Zero is the default.-
347 ** precision The specified precision. The default-
348 ** is -1.-
349 ** xtype The class of the conversion.-
350 ** infop Pointer to the appropriate info struct.-
351 */-
352 switch( xtype ){-
353 case etPOINTER:
executed 13320 times by 24 tests: case 13:
Executed by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (6)
  • Self test (63)
  • Self test (7)
  • Self test (8)
  • Self test (9)
13320
354 flag_long = sizeof(char*)==sizeof(i64) ? 2 :
sizeof(char*)==sizeof(i64)Description
TRUEevaluated 13320 times by 24 tests
Evaluated by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (6)
  • Self test (63)
  • Self test (7)
  • Self test (8)
  • Self test (9)
FALSEnever evaluated
0-13320
355 sizeof(char*)==sizeof(long int) ? 1 : 0;
sizeof(char*)=...zeof(long int)Description
TRUEnever evaluated
FALSEnever evaluated
0
356 /* Fall through into the next case */-
357 case etORDINAL:
code before this statement executed 13320 times by 24 tests: case 15:
Executed by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (6)
  • Self test (63)
  • Self test (7)
  • Self test (8)
  • Self test (9)
executed 36 times by 1 test: case 15:
Executed by:
  • Self test (438)
36-13320
358 case etRADIX:
executed 16558 times by 5 tests: case 0:
Executed by:
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (64)
16558
359 cThousand = 0;-
360 /* Fall through into the next case */-
361 case etDECIMAL:
code before this statement executed 29914 times by 26 tests: case 16:
Executed by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (6)
  • Self test (63)
  • Self test (64)
  • Self test (7)
  • Self test (8)
  • ...
executed 456258 times by 438 tests: case 16:
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
29914-456258
362 if( infop->flags & FLAG_SIGNED ){
infop->flags & 1Description
TRUEevaluated 450804 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 35368 times by 26 tests
Evaluated by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (6)
  • Self test (63)
  • Self test (64)
  • Self test (7)
  • Self test (8)
  • ...
35368-450804
363 i64 v;-
364 if( bArgList ){
bArgListDescription
TRUEevaluated 10820 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 439984 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
10820-439984
365 v = getIntArg(pArgList);-
366 }else if( flag_long ){
executed 10820 times by 1 test: end of block
Executed by:
  • Self test (438)
flag_longDescription
TRUEevaluated 303295 times by 434 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 136689 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
10820-303295
367 if( flag_long==2 ){
flag_long==2Description
TRUEevaluated 303295 times by 434 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEnever evaluated
0-303295
368 v = va_arg(ap,i64) ;-
369 }else{
executed 303295 times by 434 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
303295
370 v = va_arg(ap,long int);-
371 }
never executed: end of block
0
372 }else{-
373 v = va_arg(ap,int);-
374 }
executed 136689 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
136689
375 if( v<0 ){
v<0Description
TRUEevaluated 922 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 449882 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
922-449882
376 if( v==SMALLEST_INT64 ){
v==(((i64)-1) ...ffffff)<<32)))Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 920 times by 1 test
Evaluated by:
  • Self test (438)
2-920
377 longvalue = ((u64)1)<<63;-
378 }else{
executed 2 times by 1 test: end of block
Executed by:
  • Self test (438)
2
379 longvalue = -v;-
380 }
executed 920 times by 1 test: end of block
Executed by:
  • Self test (438)
920
381 prefix = '-';-
382 }else{
executed 922 times by 1 test: end of block
Executed by:
  • Self test (438)
922
383 longvalue = v;-
384 prefix = flag_prefix;-
385 }
executed 449882 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
449882
386 }else{-
387 if( bArgList ){
bArgListDescription
TRUEevaluated 175 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 35193 times by 26 tests
Evaluated by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (6)
  • Self test (63)
  • Self test (64)
  • Self test (7)
  • Self test (8)
  • ...
175-35193
388 longvalue = (u64)getIntArg(pArgList);-
389 }else if( flag_long ){
executed 175 times by 1 test: end of block
Executed by:
  • Self test (438)
flag_longDescription
TRUEevaluated 14288 times by 26 tests
Evaluated by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (6)
  • Self test (63)
  • Self test (64)
  • Self test (7)
  • Self test (8)
  • ...
FALSEevaluated 20905 times by 3 tests
Evaluated by:
  • Self test (4)
  • Self test (438)
  • Self test (5)
175-20905
390 if( flag_long==2 ){
flag_long==2Description
TRUEevaluated 14285 times by 26 tests
Evaluated by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (6)
  • Self test (63)
  • Self test (64)
  • Self test (7)
  • Self test (8)
  • ...
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
3-14285
391 longvalue = va_arg(ap,u64);-
392 }else{
executed 14285 times by 26 tests: end of block
Executed by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (6)
  • Self test (63)
  • Self test (64)
  • Self test (7)
  • Self test (8)
  • ...
14285
393 longvalue = va_arg(ap,unsigned long int);-
394 }
executed 3 times by 1 test: end of block
Executed by:
  • Self test (438)
3
395 }else{-
396 longvalue = va_arg(ap,unsigned int);-
397 }
executed 20905 times by 3 tests: end of block
Executed by:
  • Self test (4)
  • Self test (438)
  • Self test (5)
20905
398 prefix = 0;-
399 }
executed 35368 times by 26 tests: end of block
Executed by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (6)
  • Self test (63)
  • Self test (64)
  • Self test (7)
  • Self test (8)
  • ...
35368
400 if( longvalue==0 ) flag_alternateform = 0;
executed 40801 times by 7 tests: flag_alternateform = 0;
Executed by:
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (438)
  • Self test (47)
longvalue==0Description
TRUEevaluated 40801 times by 7 tests
Evaluated by:
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (438)
  • Self test (47)
FALSEevaluated 445371 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
40801-445371
401 if( flag_zeropad && precision<width-(prefix!=0) ){
flag_zeropadDescription
TRUEevaluated 30405 times by 4 tests
Evaluated by:
  • Self test (34)
  • Self test (4)
  • Self test (438)
  • Self test (5)
FALSEevaluated 455767 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
precision<width-(prefix!=0)Description
TRUEevaluated 30403 times by 4 tests
Evaluated by:
  • Self test (34)
  • Self test (4)
  • Self test (438)
  • Self test (5)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
2-455767
402 precision = width-(prefix!=0);-
403 }
executed 30403 times by 4 tests: end of block
Executed by:
  • Self test (34)
  • Self test (4)
  • Self test (438)
  • Self test (5)
30403
404 if( precision<etBUFSIZE-10-etBUFSIZE/3 ){
precision<70 -10-70/3Description
TRUEevaluated 486171 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
1-486171
405 nOut = etBUFSIZE;-
406 zOut = buf;-
407 }else{
executed 486171 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
486171
408 u64 n = (u64)precision + 10 + precision/3;-
409 zOut = zExtra = sqlite3Malloc( n );-
410 if( zOut==0 ){
zOut==0Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
0-1
411 setStrAccumError(pAccum, SQLITE_NOMEM);-
412 return;
never executed: return;
0
413 }-
414 nOut = (int)n;-
415 }
executed 1 time by 1 test: end of block
Executed by:
  • Self test (438)
1
416 bufpt = &zOut[nOut-1];-
417 if( xtype==etORDINAL ){
xtype==15Description
TRUEevaluated 36 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 486136 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
36-486136
418 static const char zOrd[] = "thstndrd";-
419 int x = (int)(longvalue % 10);-
420 if( x>=4 || (longvalue/10)%10==1 ){
x>=4Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 33 times by 1 test
Evaluated by:
  • Self test (438)
(longvalue/10)%10==1Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 29 times by 1 test
Evaluated by:
  • Self test (438)
3-33
421 x = 0;-
422 }
executed 7 times by 1 test: end of block
Executed by:
  • Self test (438)
7
423 *(--bufpt) = zOrd[x*2+1];-
424 *(--bufpt) = zOrd[x*2];-
425 }
executed 36 times by 1 test: end of block
Executed by:
  • Self test (438)
36
426 {-
427 const char *cset = &aDigits[infop->charset];-
428 u8 base = infop->base;-
429 do{ /* Convert to ascii */-
430 *(--bufpt) = cset[longvalue%base];-
431 longvalue = longvalue/base;-
432 }while( longvalue>0 );
executed 912066 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
longvalue>0Description
TRUEevaluated 425894 times by 33 tests
Evaluated by:
  • Self test (10)
  • Self test (100)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (47)
  • Self test (5)
  • Self test (54)
  • Self test (57)
  • Self test (58)
  • Self test (6)
  • ...
FALSEevaluated 486171 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
425894-912066
433 }-
434 length = (int)(&zOut[nOut-1]-bufpt);-
435 while( precision>length ){
precision>lengthDescription
TRUEevaluated 61742 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 486171 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
61742-486171
436 *(--bufpt) = '0'; /* Zero pad */-
437 length++;-
438 }
executed 61742 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
61742
439 if( cThousand ){
cThousandDescription
TRUEevaluated 20 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 486152 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
20-486152
440 int nn = (length - 1)/3; /* Number of "," to insert */-
441 int ix = (length - 1)%3 + 1;-
442 bufpt -= nn;-
443 for(idx=0; nn>0; idx++){
nn>0Description
TRUEevaluated 56 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 20 times by 1 test
Evaluated by:
  • Self test (438)
20-56
444 bufpt[idx] = bufpt[idx+nn];-
445 ix--;-
446 if( ix==0 ){
ix==0Description
TRUEevaluated 24 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 32 times by 1 test
Evaluated by:
  • Self test (438)
24-32
447 bufpt[++idx] = cThousand;-
448 nn--;-
449 ix = 3;-
450 }
executed 24 times by 1 test: end of block
Executed by:
  • Self test (438)
24
451 }
executed 56 times by 1 test: end of block
Executed by:
  • Self test (438)
56
452 }
executed 20 times by 1 test: end of block
Executed by:
  • Self test (438)
20
453 if( prefix ) *(--bufpt) = prefix; /* Add sign */
executed 940 times by 1 test: *(--bufpt) = prefix;
Executed by:
  • Self test (438)
prefixDescription
TRUEevaluated 940 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 485232 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
940-485232
454 if( flag_alternateform && infop->prefix ){ /* Add "0" or "0x" */
flag_alternateformDescription
TRUEevaluated 45 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 486126 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
infop->prefixDescription
TRUEevaluated 30 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 15 times by 1 test
Evaluated by:
  • Self test (438)
15-486126
455 const char *pre;-
456 char x;-
457 pre = &aPrefix[infop->prefix];-
458 for(; (x=(*pre))!=0; pre++) *(--bufpt) = x;
executed 45 times by 1 test: *(--bufpt) = x;
Executed by:
  • Self test (438)
(x=(*pre))!=0Description
TRUEevaluated 45 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 30 times by 1 test
Evaluated by:
  • Self test (438)
30-45
459 }
executed 30 times by 1 test: end of block
Executed by:
  • Self test (438)
30
460 length = (int)(&zOut[nOut-1]-bufpt);-
461 break;
executed 486171 times by 438 tests: break;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
486171
462 case etFLOAT:
executed 2340 times by 1 test: case 1:
Executed by:
  • Self test (438)
2340
463 case etEXP:
executed 18871 times by 1 test: case 2:
Executed by:
  • Self test (438)
18871
464 case etGENERIC:
executed 112592 times by 1 test: case 3:
Executed by:
  • Self test (438)
112592
465 if( bArgList ){
bArgListDescription
TRUEevaluated 7 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133796 times by 1 test
Evaluated by:
  • Self test (438)
7-133796
466 realvalue = getDoubleArg(pArgList);-
467 }else{
executed 7 times by 1 test: end of block
Executed by:
  • Self test (438)
7
468 realvalue = va_arg(ap,double);-
469 }
executed 133796 times by 1 test: end of block
Executed by:
  • Self test (438)
133796
470#ifdef SQLITE_OMIT_FLOATING_POINT-
471 length = 0;-
472#else-
473 if( precision<0 ) precision = 6; /* Set default precision */
executed 353 times by 1 test: precision = 6;
Executed by:
  • Self test (438)
precision<0Description
TRUEevaluated 353 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133450 times by 1 test
Evaluated by:
  • Self test (438)
353-133450
474 if( realvalue<0.0 ){
realvalue<0.0Description
TRUEevaluated 10191 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 123612 times by 1 test
Evaluated by:
  • Self test (438)
10191-123612
475 realvalue = -realvalue;-
476 prefix = '-';-
477 }else{
executed 10191 times by 1 test: end of block
Executed by:
  • Self test (438)
10191
478 prefix = flag_prefix;-
479 }
executed 123612 times by 1 test: end of block
Executed by:
  • Self test (438)
123612
480 if( xtype==etGENERIC && precision>0 ) precision--;
executed 112589 times by 1 test: precision--;
Executed by:
  • Self test (438)
xtype==3Description
TRUEevaluated 112592 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 21211 times by 1 test
Evaluated by:
  • Self test (438)
precision>0Description
TRUEevaluated 112589 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
3-112592
481 testcase( precision>0xfff );-
482 for(idx=precision&0xfff, rounder=0.5; idx>0; idx--, rounder*=0.1){}
executed 1957151 times by 1 test: end of block
Executed by:
  • Self test (438)
idx>0Description
TRUEevaluated 1957151 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133803 times by 1 test
Evaluated by:
  • Self test (438)
133803-1957151
483 if( xtype==etFLOAT ) realvalue += rounder;
executed 2340 times by 1 test: realvalue += rounder;
Executed by:
  • Self test (438)
xtype==1Description
TRUEevaluated 2340 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 131463 times by 1 test
Evaluated by:
  • Self test (438)
2340-131463
484 /* Normalize realvalue to within 10.0 > realvalue >= 1.0 */-
485 exp = 0;-
486 if( sqlite3IsNaN((double)realvalue) ){
sqlite3IsNaN((...ble)realvalue)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133802 times by 1 test
Evaluated by:
  • Self test (438)
1-133802
487 bufpt = "NaN";-
488 length = 3;-
489 break;
executed 1 time by 1 test: break;
Executed by:
  • Self test (438)
1
490 }-
491 if( realvalue>0.0 ){
realvalue>0.0Description
TRUEevaluated 133660 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 142 times by 1 test
Evaluated by:
  • Self test (438)
142-133660
492 LONGDOUBLE_TYPE scale = 1.0;-
493 while( realvalue>=1e100*scale && exp<=350 ){ scale *= 1e100;exp+=100;}
executed 346 times by 1 test: end of block
Executed by:
  • Self test (438)
realvalue>=1e100*scaleDescription
TRUEevaluated 362 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133644 times by 1 test
Evaluated by:
  • Self test (438)
exp<=350Description
TRUEevaluated 346 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 16 times by 1 test
Evaluated by:
  • Self test (438)
16-133644
494 while( realvalue>=1e10*scale && exp<=350 ){ scale *= 1e10; exp+=10; }
executed 32224 times by 1 test: end of block
Executed by:
  • Self test (438)
realvalue>=1e10*scaleDescription
TRUEevaluated 32240 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133644 times by 1 test
Evaluated by:
  • Self test (438)
exp<=350Description
TRUEevaluated 32224 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 16 times by 1 test
Evaluated by:
  • Self test (438)
16-133644
495 while( realvalue>=10.0*scale && exp<=350 ){ scale *= 10.0; exp++; }
executed 111295 times by 1 test: end of block
Executed by:
  • Self test (438)
realvalue>=10.0*scaleDescription
TRUEevaluated 111311 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133644 times by 1 test
Evaluated by:
  • Self test (438)
exp<=350Description
TRUEevaluated 111295 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 16 times by 1 test
Evaluated by:
  • Self test (438)
16-133644
496 realvalue /= scale;-
497 while( realvalue<1e-8 ){ realvalue *= 1e8; exp-=8; }
executed 44171 times by 1 test: end of block
Executed by:
  • Self test (438)
realvalue<1e-8Description
TRUEevaluated 44171 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133660 times by 1 test
Evaluated by:
  • Self test (438)
44171-133660
498 while( realvalue<1.0 ){ realvalue *= 10.0; exp--; }
executed 168059 times by 1 test: end of block
Executed by:
  • Self test (438)
realvalue<1.0Description
TRUEevaluated 168059 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133660 times by 1 test
Evaluated by:
  • Self test (438)
133660-168059
499 if( exp>350 ){
exp>350Description
TRUEevaluated 16 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133644 times by 1 test
Evaluated by:
  • Self test (438)
16-133644
500 bufpt = buf;-
501 buf[0] = prefix;-
502 memcpy(buf+(prefix!=0),"Inf",4);-
503 length = 3+(prefix!=0);-
504 break;
executed 16 times by 1 test: break;
Executed by:
  • Self test (438)
16
505 }-
506 }
executed 133644 times by 1 test: end of block
Executed by:
  • Self test (438)
133644
507 bufpt = buf;-
508 /*-
509 ** If the field type is etGENERIC, then convert to either etEXP-
510 ** or etFLOAT, as appropriate.-
511 */-
512 if( xtype!=etFLOAT ){
xtype!=1Description
TRUEevaluated 131449 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2337 times by 1 test
Evaluated by:
  • Self test (438)
2337-131449
513 realvalue += rounder;-
514 if( realvalue>=10.0 ){ realvalue *= 0.1; exp++; }
executed 136 times by 1 test: end of block
Executed by:
  • Self test (438)
realvalue>=10.0Description
TRUEevaluated 136 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 131313 times by 1 test
Evaluated by:
  • Self test (438)
136-131313
515 }
executed 131449 times by 1 test: end of block
Executed by:
  • Self test (438)
131449
516 if( xtype==etGENERIC ){
xtype==3Description
TRUEevaluated 112578 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 21208 times by 1 test
Evaluated by:
  • Self test (438)
21208-112578
517 flag_rtz = !flag_alternateform;-
518 if( exp<-4 || exp>precision ){
exp<-4Description
TRUEevaluated 8397 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 104181 times by 1 test
Evaluated by:
  • Self test (438)
exp>precisionDescription
TRUEevaluated 5139 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 99042 times by 1 test
Evaluated by:
  • Self test (438)
5139-104181
519 xtype = etEXP;-
520 }else{
executed 13536 times by 1 test: end of block
Executed by:
  • Self test (438)
13536
521 precision = precision - exp;-
522 xtype = etFLOAT;-
523 }
executed 99042 times by 1 test: end of block
Executed by:
  • Self test (438)
99042
524 }else{-
525 flag_rtz = flag_altform2;-
526 }
executed 21208 times by 1 test: end of block
Executed by:
  • Self test (438)
21208
527 if( xtype==etEXP ){
xtype==2Description
TRUEevaluated 32407 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 101379 times by 1 test
Evaluated by:
  • Self test (438)
32407-101379
528 e2 = 0;-
529 }else{
executed 32407 times by 1 test: end of block
Executed by:
  • Self test (438)
32407
530 e2 = exp;-
531 }
executed 101379 times by 1 test: end of block
Executed by:
  • Self test (438)
101379
532 if( MAX(e2,0)+(i64)precision+(i64)width > etBUFSIZE - 15 ){
((e2)>(0)?(e2)...idth > 70 - 15Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133782 times by 1 test
Evaluated by:
  • Self test (438)
(e2)>(0)Description
TRUEevaluated 21329 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 112457 times by 1 test
Evaluated by:
  • Self test (438)
4-133782
533 bufpt = zExtra -
534 = sqlite3Malloc( MAX(e2,0)+(i64)precision+(i64)width+15 );-
535 if( bufpt==0 ){
bufpt==0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
1-3
536 setStrAccumError(pAccum, SQLITE_NOMEM);-
537 return;
executed 1 time by 1 test: return;
Executed by:
  • Self test (438)
1
538 }-
539 }
executed 3 times by 1 test: end of block
Executed by:
  • Self test (438)
3
540 zOut = bufpt;-
541 nsd = 16 + flag_altform2*10;-
542 flag_dp = (precision>0 ?1:0) | flag_alternateform | flag_altform2;
precision>0Description
TRUEevaluated 133502 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 283 times by 1 test
Evaluated by:
  • Self test (438)
283-133502
543 /* The sign in front of the number */-
544 if( prefix ){
prefixDescription
TRUEevaluated 10196 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 123589 times by 1 test
Evaluated by:
  • Self test (438)
10196-123589
545 *(bufpt++) = prefix;-
546 }
executed 10196 times by 1 test: end of block
Executed by:
  • Self test (438)
10196
547 /* Digits prior to the decimal point */-
548 if( e2<0 ){
e2<0Description
TRUEevaluated 78568 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 55217 times by 1 test
Evaluated by:
  • Self test (438)
55217-78568
549 *(bufpt++) = '0';-
550 }else{
executed 78568 times by 1 test: end of block
Executed by:
  • Self test (438)
78568
551 for(; e2>=0; e2--){
e2>=0Description
TRUEevaluated 117582 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 55217 times by 1 test
Evaluated by:
  • Self test (438)
55217-117582
552 *(bufpt++) = et_getdigit(&realvalue,&nsd);-
553 }
executed 117582 times by 1 test: end of block
Executed by:
  • Self test (438)
117582
554 }
executed 55217 times by 1 test: end of block
Executed by:
  • Self test (438)
55217
555 /* The decimal point */-
556 if( flag_dp ){
flag_dpDescription
TRUEevaluated 133744 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 41 times by 1 test
Evaluated by:
  • Self test (438)
41-133744
557 *(bufpt++) = '.';-
558 }
executed 133744 times by 1 test: end of block
Executed by:
  • Self test (438)
133744
559 /* "0" digits after the decimal point but before the first-
560 ** significant digit of the number */-
561 for(e2++; e2<0; precision--, e2++){
e2<0Description
TRUEevaluated 10430 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133785 times by 1 test
Evaluated by:
  • Self test (438)
10430-133785
562 assert( precision>0 );-
563 *(bufpt++) = '0';-
564 }
executed 10430 times by 1 test: end of block
Executed by:
  • Self test (438)
10430
565 /* Significant digits after the decimal point */-
566 while( (precision--)>0 ){
(precision--)>0Description
TRUEevaluated 1982264 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 133785 times by 1 test
Evaluated by:
  • Self test (438)
133785-1982264
567 *(bufpt++) = et_getdigit(&realvalue,&nsd);-
568 }
executed 1982264 times by 1 test: end of block
Executed by:
  • Self test (438)
1982264
569 /* Remove trailing zeros and the "." if no digits follow the "." */-
570 if( flag_rtz && flag_dp ){
flag_rtzDescription
TRUEevaluated 131110 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2675 times by 1 test
Evaluated by:
  • Self test (438)
flag_dpDescription
TRUEevaluated 131069 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 41 times by 1 test
Evaluated by:
  • Self test (438)
41-131110
571 while( bufpt[-1]=='0' ) *(--bufpt) = 0;
executed 142432 times by 1 test: *(--bufpt) = 0;
Executed by:
  • Self test (438)
bufpt[-1]=='0'Description
TRUEevaluated 142432 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 131069 times by 1 test
Evaluated by:
  • Self test (438)
131069-142432
572 assert( bufpt>zOut );-
573 if( bufpt[-1]=='.' ){
bufpt[-1]=='.'Description
TRUEevaluated 1936 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 129133 times by 1 test
Evaluated by:
  • Self test (438)
1936-129133
574 if( flag_altform2 ){
flag_altform2Description
TRUEevaluated 1745 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 191 times by 1 test
Evaluated by:
  • Self test (438)
191-1745
575 *(bufpt++) = '0';-
576 }else{
executed 1745 times by 1 test: end of block
Executed by:
  • Self test (438)
1745
577 *(--bufpt) = 0;-
578 }
executed 191 times by 1 test: end of block
Executed by:
  • Self test (438)
191
579 }-
580 }
executed 131069 times by 1 test: end of block
Executed by:
  • Self test (438)
131069
581 /* Add the "eNNN" suffix */-
582 if( xtype==etEXP ){
xtype==2Description
TRUEevaluated 32407 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 101378 times by 1 test
Evaluated by:
  • Self test (438)
32407-101378
583 *(bufpt++) = aDigits[infop->charset];-
584 if( exp<0 ){
exp<0Description
TRUEevaluated 17851 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 14556 times by 1 test
Evaluated by:
  • Self test (438)
14556-17851
585 *(bufpt++) = '-'; exp = -exp;-
586 }else{
executed 17851 times by 1 test: end of block
Executed by:
  • Self test (438)
17851
587 *(bufpt++) = '+';-
588 }
executed 14556 times by 1 test: end of block
Executed by:
  • Self test (438)
14556
589 if( exp>=100 ){
exp>=100Description
TRUEevaluated 538 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 31869 times by 1 test
Evaluated by:
  • Self test (438)
538-31869
590 *(bufpt++) = (char)((exp/100)+'0'); /* 100's digit */-
591 exp %= 100;-
592 }
executed 538 times by 1 test: end of block
Executed by:
  • Self test (438)
538
593 *(bufpt++) = (char)(exp/10+'0'); /* 10's digit */-
594 *(bufpt++) = (char)(exp%10+'0'); /* 1's digit */-
595 }
executed 32407 times by 1 test: end of block
Executed by:
  • Self test (438)
32407
596 *bufpt = 0;-
597-
598 /* The converted number is in buf[] and zero terminated. Output it.-
599 ** Note that the number is in the usual order, not reversed as with-
600 ** integer conversions. */-
601 length = (int)(bufpt-zOut);-
602 bufpt = zOut;-
603-
604 /* Special case: Add leading zeros if the flag_zeropad flag is-
605 ** set and we are not left justified */-
606 if( flag_zeropad && !flag_leftjustify && length < width){
flag_zeropadDescription
TRUEevaluated 1123 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 132662 times by 1 test
Evaluated by:
  • Self test (438)
!flag_leftjustifyDescription
TRUEevaluated 1122 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
length < widthDescription
TRUEevaluated 1083 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 39 times by 1 test
Evaluated by:
  • Self test (438)
1-132662
607 int i;-
608 int nPad = width - length;-
609 for(i=width; i>=nPad; i--){
i>=nPadDescription
TRUEevaluated 6455 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1083 times by 1 test
Evaluated by:
  • Self test (438)
1083-6455
610 bufpt[i] = bufpt[i-nPad];-
611 }
executed 6455 times by 1 test: end of block
Executed by:
  • Self test (438)
6455
612 i = prefix!=0;-
613 while( nPad-- ) bufpt[i++] = '0';
executed 1454 times by 1 test: bufpt[i++] = '0';
Executed by:
  • Self test (438)
nPad--Description
TRUEevaluated 1454 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1083 times by 1 test
Evaluated by:
  • Self test (438)
1083-1454
614 length = width;-
615 }
executed 1083 times by 1 test: end of block
Executed by:
  • Self test (438)
1083
616#endif /* !defined(SQLITE_OMIT_FLOATING_POINT) */-
617 break;
executed 133785 times by 1 test: break;
Executed by:
  • Self test (438)
133785
618 case etSIZE:
executed 7 times by 1 test: case 4:
Executed by:
  • Self test (438)
7
619 if( !bArgList ){
!bArgListDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
1-6
620 *(va_arg(ap,int*)) = pAccum->nChar;-
621 }
executed 1 time by 1 test: end of block
Executed by:
  • Self test (438)
1
622 length = width = 0;-
623 break;
executed 7 times by 1 test: break;
Executed by:
  • Self test (438)
7
624 case etPERCENT:
executed 1016 times by 1 test: case 7:
Executed by:
  • Self test (438)
1016
625 buf[0] = '%';-
626 bufpt = buf;-
627 length = 1;-
628 break;
executed 1016 times by 1 test: break;
Executed by:
  • Self test (438)
1016
629 case etCHARX:
executed 55972 times by 3 tests: case 8:
Executed by:
  • Self test (438)
  • Self test (54)
  • Self test (64)
55972
630 if( bArgList ){
bArgListDescription
TRUEevaluated 4223 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 51749 times by 3 tests
Evaluated by:
  • Self test (438)
  • Self test (54)
  • Self test (64)
4223-51749
631 bufpt = getTextArg(pArgList);-
632 length = 1;-
633 if( bufpt ){
bufptDescription
TRUEevaluated 4223 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-4223
634 buf[0] = c = *(bufpt++);-
635 if( (c&0xc0)==0xc0 ){
(c&0xc0)==0xc0Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4215 times by 1 test
Evaluated by:
  • Self test (438)
8-4215
636 while( length<4 && (bufpt[0]&0xc0)==0x80 ){
length<4Description
TRUEevaluated 18 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
(bufpt[0]&0xc0)==0x80Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 8 times by 1 test
Evaluated by:
  • Self test (438)
0-18
637 buf[length++] = *(bufpt++);-
638 }
executed 10 times by 1 test: end of block
Executed by:
  • Self test (438)
10
639 }
executed 8 times by 1 test: end of block
Executed by:
  • Self test (438)
8
640 }else{
executed 4223 times by 1 test: end of block
Executed by:
  • Self test (438)
4223
641 buf[0] = 0;-
642 }
never executed: end of block
0
643 }else{-
644 unsigned int ch = va_arg(ap,unsigned int);-
645 if( ch<0x00080 ){
ch<0x00080Description
TRUEevaluated 51749 times by 3 tests
Evaluated by:
  • Self test (438)
  • Self test (54)
  • Self test (64)
FALSEnever evaluated
0-51749
646 buf[0] = ch & 0xff;-
647 length = 1;-
648 }else if( ch<0x00800 ){
executed 51750 times by 3 tests: end of block
Executed by:
  • Self test (438)
  • Self test (54)
  • Self test (64)
ch<0x00800Description
TRUEnever evaluated
FALSEnever evaluated
0-51750
649 buf[0] = 0xc0 + (u8)((ch>>6)&0x1f);-
650 buf[1] = 0x80 + (u8)(ch & 0x3f);-
651 length = 2;-
652 }else if( ch<0x10000 ){
never executed: end of block
ch<0x10000Description
TRUEnever evaluated
FALSEnever evaluated
0
653 buf[0] = 0xe0 + (u8)((ch>>12)&0x0f);-
654 buf[1] = 0x80 + (u8)((ch>>6) & 0x3f);-
655 buf[2] = 0x80 + (u8)(ch & 0x3f);-
656 length = 3;-
657 }else{
never executed: end of block
0
658 buf[0] = 0xf0 + (u8)((ch>>18) & 0x07);-
659 buf[1] = 0x80 + (u8)((ch>>12) & 0x3f);-
660 buf[2] = 0x80 + (u8)((ch>>6) & 0x3f);-
661 buf[3] = 0x80 + (u8)(ch & 0x3f);-
662 length = 4;-
663 }
never executed: end of block
0
664 }-
665 if( precision>1 ){
precision>1Description
TRUEevaluated 4217 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 51756 times by 3 tests
Evaluated by:
  • Self test (438)
  • Self test (54)
  • Self test (64)
4217-51756
666 width -= precision-1;-
667 if( width>1 && !flag_leftjustify ){
width>1Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4211 times by 1 test
Evaluated by:
  • Self test (438)
!flag_leftjustifyDescription
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
3-4211
668 sqlite3_str_appendchar(pAccum, width-1, ' ');-
669 width = 0;-
670 }
executed 3 times by 1 test: end of block
Executed by:
  • Self test (438)
3
671 while( precision-- > 1 ){
precision-- > 1Description
TRUEevaluated 2995215 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4217 times by 1 test
Evaluated by:
  • Self test (438)
4217-2995215
672 sqlite3_str_append(pAccum, buf, length);-
673 }
executed 2995215 times by 1 test: end of block
Executed by:
  • Self test (438)
2995215
674 }
executed 4217 times by 1 test: end of block
Executed by:
  • Self test (438)
4217
675 bufpt = buf;-
676 flag_altform2 = 1;-
677 goto adjust_width_for_utf8;
executed 55973 times by 3 tests: goto adjust_width_for_utf8;
Executed by:
  • Self test (438)
  • Self test (54)
  • Self test (64)
55973
678 case etSTRING:
executed 1187746 times by 438 tests: case 5:
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1187746
679 case etDYNSTRING:
executed 7748 times by 1 test: case 6:
Executed by:
  • Self test (438)
7748
680 if( bArgList ){
bArgListDescription
TRUEevaluated 59 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1195435 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
59-1195435
681 bufpt = getTextArg(pArgList);-
682 xtype = etSTRING;-
683 }else{
executed 59 times by 1 test: end of block
Executed by:
  • Self test (438)
59
684 bufpt = va_arg(ap,char*);-
685 }
executed 1195435 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1195435
686 if( bufpt==0 ){
bufpt==0Description
TRUEevaluated 2213 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1193281 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
2213-1193281
687 bufpt = "";-
688 }else if( xtype==etDYNSTRING ){
executed 2213 times by 1 test: end of block
Executed by:
  • Self test (438)
xtype==6Description
TRUEevaluated 5645 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1187636 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
2213-1187636
689 if( pAccum->nChar==0
pAccum->nChar==0Description
TRUEevaluated 4817 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 828 times by 1 test
Evaluated by:
  • Self test (438)
828-4817
690 && pAccum->mxAlloc
pAccum->mxAllocDescription
TRUEevaluated 4817 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-4817
691 && width==0
width==0Description
TRUEevaluated 4817 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-4817
692 && precision<0
precision<0Description
TRUEevaluated 2648 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2169 times by 1 test
Evaluated by:
  • Self test (438)
2169-2648
693 && pAccum->accError==0
pAccum->accError==0Description
TRUEevaluated 2648 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-2648
694 ){-
695 /* Special optimization for sqlite3_mprintf("%z..."):-
696 ** Extend an existing memory allocation rather than creating-
697 ** a new one. */-
698 assert( (pAccum->printfFlags&SQLITE_PRINTF_MALLOCED)==0 );-
699 pAccum->zText = bufpt;-
700 pAccum->nAlloc = sqlite3DbMallocSize(pAccum->db, bufpt);-
701 pAccum->nChar = 0x7fffffff & (int)strlen(bufpt);-
702 pAccum->printfFlags |= SQLITE_PRINTF_MALLOCED;-
703 length = 0;-
704 break;
executed 2648 times by 1 test: break;
Executed by:
  • Self test (438)
2648
705 }-
706 zExtra = bufpt;-
707 }
executed 2997 times by 1 test: end of block
Executed by:
  • Self test (438)
2997
708 if( precision>=0 ){
precision>=0Description
TRUEevaluated 27861 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
FALSEevaluated 1164985 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
27861-1164985
709 if( flag_altform2 ){
flag_altform2Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 27858 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
3-27858
710 /* Set length to the number of bytes needed in order to display-
711 ** precision characters */-
712 unsigned char *z = (unsigned char*)bufpt;-
713 while( precision-- > 0 && z[0] ){
precision-- > 0Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
z[0]Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-9
714 SQLITE_SKIP_UTF8(z);
executed 9 times by 1 test: end of block
Executed by:
  • Self test (438)
executed 9 times by 1 test: end of block
Executed by:
  • Self test (438)
(*(z++))>=0xc0Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
(*z & 0xc0)==0x80Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
0-9
715 }
executed 9 times by 1 test: end of block
Executed by:
  • Self test (438)
9
716 length = (int)(z - (unsigned char*)bufpt);-
717 }else{
executed 3 times by 1 test: end of block
Executed by:
  • Self test (438)
3
718 for(length=0; length<precision && bufpt[length]; length++){}
executed 1170884 times by 30 tests: end of block
Executed by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
length<precisionDescription
TRUEevaluated 1171212 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
FALSEevaluated 27530 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
bufpt[length]Description
TRUEevaluated 1170884 times by 30 tests
Evaluated by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
FALSEevaluated 328 times by 1 test
Evaluated by:
  • Self test (438)
328-1171212
719 }
executed 27858 times by 30 tests: end of block
Executed by:
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
27858
720 }else{-
721 length = 0x7fffffff & (int)strlen(bufpt);-
722 }
executed 1164985 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1164985
723 adjust_width_for_utf8:
code before this statement executed 1192846 times by 438 tests: adjust_width_for_utf8:
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1192846
724 if( flag_altform2 && width>0 ){
flag_altform2Description
TRUEevaluated 55978 times by 3 tests
Evaluated by:
  • Self test (438)
  • Self test (54)
  • Self test (64)
FALSEevaluated 1428313 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
width>0Description
TRUEevaluated 18 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 55959 times by 3 tests
Evaluated by:
  • Self test (438)
  • Self test (54)
  • Self test (64)
18-1428313
725 /* Adjust width to account for extra bytes in UTF-8 characters */-
726 int ii = length - 1;-
727 while( ii>=0 ) if( (bufpt[ii--] & 0xc0)==0x80 ) width++;
executed 18 times by 1 test: width++;
Executed by:
  • Self test (438)
(bufpt[ii--] & 0xc0)==0x80Description
TRUEevaluated 18 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 26 times by 1 test
Evaluated by:
  • Self test (438)
ii>=0Description
TRUEevaluated 44 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 18 times by 1 test
Evaluated by:
  • Self test (438)
18-44
728 }
executed 18 times by 1 test: end of block
Executed by:
  • Self test (438)
18
729 break;
executed 1484290 times by 438 tests: break;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1484290
730 case etSQLESCAPE: /* %q: Escape ' characters */
executed 46813 times by 33 tests: case 9:
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • ...
46813
731 case etSQLESCAPE2: /* %Q: Escape ' and enclose in '...' */
executed 160626 times by 33 tests: case 10:
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • ...
160626
732 case etSQLESCAPE3: { /* %w: Escape " characters */
executed 28033 times by 435 tests: case 14:
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
28033
733 int i, j, k, n, isnull;-
734 int needQuote;-
735 char ch;-
736 char q = ((xtype==etSQLESCAPE3)?'"':'\''); /* Quote character */
(xtype==14)Description
TRUEevaluated 28033 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 207439 times by 33 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • ...
28033-207439
737 char *escarg;-
738-
739 if( bArgList ){
bArgListDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 235468 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
4-235468
740 escarg = getTextArg(pArgList);-
741 }else{
executed 4 times by 1 test: end of block
Executed by:
  • Self test (438)
4
742 escarg = va_arg(ap,char*);-
743 }
executed 235468 times by 435 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
235468
744 isnull = escarg==0;-
745 if( isnull ) escarg = (xtype==etSQLESCAPE2 ? "NULL" : "(NULL)");
executed 1620 times by 13 tests: escarg = (xtype==10 ? "NULL" : "(NULL)");
Executed by:
  • Self test (100)
  • Self test (32)
  • Self test (33)
  • Self test (438)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • Self test (97)
  • Self test (98)
  • Self test (99)
isnullDescription
TRUEevaluated 1620 times by 13 tests
Evaluated by:
  • Self test (100)
  • Self test (32)
  • Self test (33)
  • Self test (438)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • Self test (97)
  • Self test (98)
  • Self test (99)
FALSEevaluated 233852 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
xtype==10Description
TRUEevaluated 1619 times by 13 tests
Evaluated by:
  • Self test (100)
  • Self test (32)
  • Self test (33)
  • Self test (438)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • Self test (97)
  • Self test (98)
  • Self test (99)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
1-233852
746 /* For %q, %Q, and %w, the precision is the number of byte (or-
747 ** characters if the ! flags is present) to use from the input.-
748 ** Because of the extra quoting characters inserted, the number-
749 ** of output characters may be larger than the precision.-
750 */-
751 k = precision;-
752 for(i=n=0; k!=0 && (ch=escarg[i])!=0; i++, k--){
k!=0Description
TRUEevaluated 2699406 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 24 times by 1 test
Evaluated by:
  • Self test (438)
(ch=escarg[i])!=0Description
TRUEevaluated 2463958 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 235448 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
24-2699406
753 if( ch==q ) n++;
executed 7141 times by 1 test: n++;
Executed by:
  • Self test (438)
ch==qDescription
TRUEevaluated 7141 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2456817 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
7141-2456817
754 if( flag_altform2 && (ch&0xc0)==0xc0 ){
flag_altform2Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2463952 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
(ch&0xc0)==0xc0Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-2463952
755 while( (escarg[i+1]&0xc0)==0x80 ){ i++; }
executed 6 times by 1 test: end of block
Executed by:
  • Self test (438)
(escarg[i+1]&0xc0)==0x80Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
6
756 }
executed 6 times by 1 test: end of block
Executed by:
  • Self test (438)
6
757 }
executed 2463958 times by 435 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
2463958
758 needQuote = !isnull && xtype==etSQLESCAPE2;
!isnullDescription
TRUEevaluated 233852 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 1620 times by 13 tests
Evaluated by:
  • Self test (100)
  • Self test (32)
  • Self test (33)
  • Self test (438)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • Self test (97)
  • Self test (98)
  • Self test (99)
xtype==10Description
TRUEevaluated 159007 times by 33 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • ...
FALSEevaluated 74845 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
1620-233852
759 n += i + 3;-
760 if( n>etBUFSIZE ){
n>70Description
TRUEevaluated 10398 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (47)
FALSEevaluated 225074 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
10398-225074
761 bufpt = zExtra = sqlite3Malloc( n );-
762 if( bufpt==0 ){
bufpt==0Description
TRUEnever evaluated
FALSEevaluated 10398 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (47)
0-10398
763 setStrAccumError(pAccum, SQLITE_NOMEM);-
764 return;
never executed: return;
0
765 }-
766 }else{
executed 10398 times by 2 tests: end of block
Executed by:
  • Self test (438)
  • Self test (47)
10398
767 bufpt = buf;-
768 }
executed 225074 times by 435 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
225074
769 j = 0;-
770 if( needQuote ) bufpt[j++] = q;
executed 159007 times by 33 tests: bufpt[j++] = q;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • ...
needQuoteDescription
TRUEevaluated 159007 times by 33 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • ...
FALSEevaluated 76465 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
76465-159007
771 k = i;-
772 for(i=0; i<k; i++){
i<kDescription
TRUEevaluated 2463964 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 235472 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
235472-2463964
773 bufpt[j++] = ch = escarg[i];-
774 if( ch==q ) bufpt[j++] = ch;
executed 7141 times by 1 test: bufpt[j++] = ch;
Executed by:
  • Self test (438)
ch==qDescription
TRUEevaluated 7141 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2456823 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
7141-2456823
775 }
executed 2463964 times by 435 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
2463964
776 if( needQuote ) bufpt[j++] = q;
executed 159007 times by 33 tests: bufpt[j++] = q;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • ...
needQuoteDescription
TRUEevaluated 159007 times by 33 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • ...
FALSEevaluated 76465 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
76465-159007
777 bufpt[j] = 0;-
778 length = j;-
779 goto adjust_width_for_utf8;
executed 235472 times by 435 tests: goto adjust_width_for_utf8;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
235472
780 }-
781 case etTOKEN: {
executed 1223 times by 1 test: case 11:
Executed by:
  • Self test (438)
1223
782 Token *pToken;-
783 if( (pAccum->printfFlags & SQLITE_PRINTF_INTERNAL)==0 ) return;
executed 1 time by 1 test: return;
Executed by:
  • Self test (438)
(pAccum->print...ags & 0x01)==0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1222 times by 1 test
Evaluated by:
  • Self test (438)
1-1222
784 pToken = va_arg(ap, Token*);-
785 assert( bArgList==0 );-
786 if( pToken && pToken->n ){
pTokenDescription
TRUEevaluated 1218 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
pToken->nDescription
TRUEevaluated 1218 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-1218
787 sqlite3_str_append(pAccum, (const char*)pToken->z, pToken->n);-
788 }
executed 1218 times by 1 test: end of block
Executed by:
  • Self test (438)
1218
789 length = width = 0;-
790 break;
executed 1222 times by 1 test: break;
Executed by:
  • Self test (438)
1222
791 }-
792 case etSRCLIST: {
executed 56 times by 2 tests: case 12:
Executed by:
  • Self test (438)
  • Self test (47)
56
793 SrcList *pSrc;-
794 int k;-
795 struct SrcList_item *pItem;-
796 if( (pAccum->printfFlags & SQLITE_PRINTF_INTERNAL)==0 ) return;
never executed: return;
(pAccum->print...ags & 0x01)==0Description
TRUEnever evaluated
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (47)
0-56
797 pSrc = va_arg(ap, SrcList*);-
798 k = va_arg(ap, int);-
799 pItem = &pSrc->a[k];-
800 assert( bArgList==0 );-
801 assert( k>=0 && k<pSrc->nSrc );-
802 if( pItem->zDatabase ){
pItem->zDatabaseDescription
TRUEnever evaluated
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (47)
0-56
803 sqlite3_str_appendall(pAccum, pItem->zDatabase);-
804 sqlite3_str_append(pAccum, ".", 1);-
805 }
never executed: end of block
0
806 sqlite3_str_appendall(pAccum, pItem->zName);-
807 length = width = 0;-
808 break;
executed 56 times by 2 tests: break;
Executed by:
  • Self test (438)
  • Self test (47)
56
809 }-
810 default: {
executed 4 times by 1 test: default:
Executed by:
  • Self test (438)
4
811 assert( xtype==etINVALID );-
812 return;
executed 4 times by 1 test: return;
Executed by:
  • Self test (438)
4
813 }-
814 }/* End switch over the format type */-
815 /*-
816 ** The text of the conversion is pointed to by "bufpt" and is-
817 ** "length" characters long. The field width is "width". Do-
818 ** the output. Both length and width are in bytes, not characters,-
819 ** at this point. If the "!" flag was present on string conversions-
820 ** indicating that width and precision should be expressed in characters,-
821 ** then the values have been translated prior to reaching this point.-
822 */-
823 width -= length;-
824 if( width>0 ){
width>0Description
TRUEevaluated 464 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2108749 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
464-2108749
825 if( !flag_leftjustify ) sqlite3_str_appendchar(pAccum, width, ' ');
executed 423 times by 1 test: sqlite3_str_appendchar(pAccum, width, ' ');
Executed by:
  • Self test (438)
!flag_leftjustifyDescription
TRUEevaluated 423 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 41 times by 1 test
Evaluated by:
  • Self test (438)
41-423
826 sqlite3_str_append(pAccum, bufpt, length);-
827 if( flag_leftjustify ) sqlite3_str_appendchar(pAccum, width, ' ');
executed 41 times by 1 test: sqlite3_str_appendchar(pAccum, width, ' ');
Executed by:
  • Self test (438)
flag_leftjustifyDescription
TRUEevaluated 41 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 423 times by 1 test
Evaluated by:
  • Self test (438)
41-423
828 }else{
executed 464 times by 1 test: end of block
Executed by:
  • Self test (438)
464
829 sqlite3_str_append(pAccum, bufpt, length);-
830 }
executed 2108749 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
2108749
831-
832 if( zExtra ){
zExtraDescription
TRUEevaluated 13399 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (47)
FALSEevaluated 2095814 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
13399-2095814
833 sqlite3DbFree(pAccum->db, zExtra);-
834 zExtra = 0;-
835 }
executed 13399 times by 2 tests: end of block
Executed by:
  • Self test (438)
  • Self test (47)
13399
836 }/* End for loop over the format string */
executed 2109212 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
2109212
837}
executed 1304740 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
/* End of function */
executed 1304740 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1304740
838-
839/*-
840** Enlarge the memory allocation on a StrAccum object so that it is-
841** able to accept at least N more bytes of text.-
842**-
843** Return the number of bytes of text that StrAccum is able to accept-
844** after the attempted enlargement. The value returned might be zero.-
845*/-
846static int sqlite3StrAccumEnlarge(StrAccum *p, int N){-
847 char *zNew;-
848 assert( p->nChar+(i64)N >= p->nAlloc ); /* Only called if really needed */-
849 if( p->accError ){
p->accErrorDescription
TRUEevaluated 28 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 147151 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
28-147151
850 testcase(p->accError==SQLITE_TOOBIG);-
851 testcase(p->accError==SQLITE_NOMEM);-
852 return 0;
executed 28 times by 1 test: return 0;
Executed by:
  • Self test (438)
28
853 }-
854 if( p->mxAlloc==0 ){
p->mxAlloc==0Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 147142 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
9-147142
855 N = p->nAlloc - p->nChar - 1;-
856 setStrAccumError(p, SQLITE_TOOBIG);-
857 return N;
executed 9 times by 1 test: return N;
Executed by:
  • Self test (438)
9
858 }else{-
859 char *zOld = isMalloced(p) ? p->zText : 0;
(((p)->printfFlags & 0x04)!=0)Description
TRUEevaluated 34320 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (47)
FALSEevaluated 112822 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
34320-112822
860 i64 szNew = p->nChar;-
861 szNew += N + 1;-
862 if( szNew+p->nChar<=p->mxAlloc ){
szNew+p->nChar<=p->mxAllocDescription
TRUEevaluated 147136 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
6-147136
863 /* Force exponential buffer size growth as long as it does not overflow,-
864 ** to avoid having to call this routine too often */-
865 szNew += p->nChar;-
866 }
executed 147136 times by 388 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
147136
867 if( szNew > p->mxAlloc ){
szNew > p->mxAllocDescription
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 147139 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
3-147139
868 sqlite3_str_reset(p);-
869 setStrAccumError(p, SQLITE_TOOBIG);-
870 return 0;
executed 3 times by 1 test: return 0;
Executed by:
  • Self test (438)
3
871 }else{-
872 p->nAlloc = (int)szNew;-
873 }
executed 147139 times by 388 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
147139
874 if( p->db ){
p->dbDescription
TRUEevaluated 114111 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
FALSEevaluated 33028 times by 1 test
Evaluated by:
  • Self test (438)
33028-114111
875 zNew = sqlite3DbRealloc(p->db, zOld, p->nAlloc);-
876 }else{
executed 114111 times by 388 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
114111
877 zNew = sqlite3_realloc64(zOld, p->nAlloc);-
878 }
executed 33028 times by 1 test: end of block
Executed by:
  • Self test (438)
33028
879 if( zNew ){
zNewDescription
TRUEevaluated 147135 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
FALSEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
4-147135
880 assert( p->zText!=0 || p->nChar==0 );-
881 if( !isMalloced(p) && p->nChar>0 ) memcpy(zNew, p->zText, p->nChar);
executed 67590 times by 34 tests: memcpy(zNew, p->zText, p->nChar);
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (53)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • ...
!(((p)->printf...gs & 0x04)!=0)Description
TRUEevaluated 112817 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
FALSEevaluated 34318 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (47)
p->nChar>0Description
TRUEevaluated 67590 times by 34 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (53)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • ...
FALSEevaluated 45227 times by 367 tests
Evaluated by:
  • Self test (10)
  • Self test (100)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
34318-112817
882 p->zText = zNew;-
883 p->nAlloc = sqlite3DbMallocSize(p->db, zNew);-
884 p->printfFlags |= SQLITE_PRINTF_MALLOCED;-
885 }else{
executed 147135 times by 388 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
147135
886 sqlite3_str_reset(p);-
887 setStrAccumError(p, SQLITE_NOMEM);-
888 return 0;
executed 4 times by 1 test: return 0;
Executed by:
  • Self test (438)
4
889 }-
890 }-
891 return N;
executed 147135 times by 388 tests: return N;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
147135
892}-
893-
894/*-
895** Append N copies of character c to the given string buffer.-
896*/-
897void sqlite3_str_appendchar(sqlite3_str *p, int N, char c){-
898 testcase( p->nChar + (i64)N > 0x7fffffff );-
899 if( p->nChar+(i64)N >= p->nAlloc && (N = sqlite3StrAccumEnlarge(p, N))<=0 ){
p->nChar+(i64)N >= p->nAllocDescription
TRUEevaluated 137 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 330 times by 1 test
Evaluated by:
  • Self test (438)
(N = sqlite3St...arge(p, N))<=0Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 132 times by 1 test
Evaluated by:
  • Self test (438)
5-330
900 return;
executed 5 times by 1 test: return;
Executed by:
  • Self test (438)
5
901 }-
902 while( (N--)>0 ) p->zText[p->nChar++] = c;
executed 120884 times by 1 test: p->zText[p->nChar++] = c;
Executed by:
  • Self test (438)
(N--)>0Description
TRUEevaluated 120884 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 462 times by 1 test
Evaluated by:
  • Self test (438)
462-120884
903}
executed 462 times by 1 test: end of block
Executed by:
  • Self test (438)
462
904-
905/*-
906** The StrAccum "p" is not large enough to accept N new bytes of z[].-
907** So enlarge if first, then do the append.-
908**-
909** This is a helper routine to sqlite3_str_append() that does special-case-
910** work (enlarging the buffer) using tail recursion, so that the-
911** sqlite3_str_append() routine can use fast calling semantics.-
912*/-
913static void SQLITE_NOINLINE enlargeAndAppend(StrAccum *p, const char *z, int N){-
914 N = sqlite3StrAccumEnlarge(p, N);-
915 if( N>0 ){
N>0Description
TRUEevaluated 147000 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
FALSEevaluated 42 times by 1 test
Evaluated by:
  • Self test (438)
42-147000
916 memcpy(&p->zText[p->nChar], z, N);-
917 p->nChar += N;-
918 }
executed 147000 times by 388 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
147000
919}
executed 147042 times by 388 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
147042
920-
921/*-
922** Append N bytes of text from z to the StrAccum object. Increase the-
923** size of the memory allocation for StrAccum if necessary.-
924*/-
925void sqlite3_str_append(sqlite3_str *p, const char *z, int N){-
926 assert( z!=0 || N==0 );-
927 assert( p->zText!=0 || p->nChar==0 || p->accError );-
928 assert( N>=0 );-
929 assert( p->accError==0 || p->nAlloc==0 );-
930 if( p->nChar+N >= p->nAlloc ){
p->nChar+N >= p->nAllocDescription
TRUEevaluated 147042 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
FALSEevaluated 7144283 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
147042-7144283
931 enlargeAndAppend(p,z,N);-
932 }else if( N ){
executed 147042 times by 388 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
NDescription
TRUEevaluated 7122946 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 21337 times by 10 tests
Evaluated by:
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
21337-7122946
933 assert( p->zText );-
934 p->nChar += N;-
935 memcpy(&p->zText[p->nChar-N], z, N);-
936 }
executed 7122946 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
7122946
937}
executed 7291325 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
7291325
938-
939/*-
940** Append the complete text of zero-terminated string z[] to the p string.-
941*/-
942void sqlite3_str_appendall(sqlite3_str *p, const char *z){-
943 sqlite3_str_append(p, z, sqlite3Strlen30(z));-
944}
executed 67597 times by 366 tests: end of block
Executed by:
  • Self test (10)
  • Self test (100)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
67597
945-
946-
947/*-
948** Finish off a string by making sure it is zero-terminated.-
949** Return a pointer to the resulting string. Return a NULL-
950** pointer if any kind of error was encountered.-
951*/-
952static SQLITE_NOINLINE char *strAccumFinishRealloc(StrAccum *p){-
953 char *zText;-
954 assert( p->mxAlloc>0 && !isMalloced(p) );-
955 zText = sqlite3DbMallocRaw(p->db, p->nChar+1 );-
956 if( zText ){
zTextDescription
TRUEevaluated 208468 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 3340 times by 1 test
Evaluated by:
  • Self test (438)
3340-208468
957 memcpy(zText, p->zText, p->nChar+1);-
958 p->printfFlags |= SQLITE_PRINTF_MALLOCED;-
959 }else{
executed 208468 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
208468
960 setStrAccumError(p, SQLITE_NOMEM);-
961 }
executed 3340 times by 1 test: end of block
Executed by:
  • Self test (438)
3340
962 p->zText = zText;-
963 return zText;
executed 211808 times by 438 tests: return zText;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
211808
964}-
965char *sqlite3StrAccumFinish(StrAccum *p){-
966 if( p->zText ){
p->zTextDescription
TRUEevaluated 346775 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 11124 times by 12 tests
Evaluated by:
  • Self test (43)
  • Self test (438)
  • Self test (45)
  • Self test (53)
  • Self test (65)
  • Self test (66)
  • Self test (67)
  • Self test (68)
  • Self test (69)
  • Self test (70)
  • Self test (71)
  • Self test (74)
11124-346775
967 p->zText[p->nChar] = 0;-
968 if( p->mxAlloc>0 && !isMalloced(p) ){
p->mxAlloc>0Description
TRUEevaluated 326806 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 19969 times by 1 test
Evaluated by:
  • Self test (438)
!(((p)->printf...gs & 0x04)!=0)Description
TRUEevaluated 211807 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 114999 times by 388 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
19969-326806
969 return strAccumFinishRealloc(p);
executed 211807 times by 438 tests: return strAccumFinishRealloc(p);
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
211807
970 }-
971 }
executed 134968 times by 388 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
134968
972 return p->zText;
executed 146092 times by 398 tests: return p->zText;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
146092
973}-
974-
975/*-
976** This singleton is an sqlite3_str object that is returned if-
977** sqlite3_malloc() fails to provide space for a real one. This-
978** sqlite3_str object accepts no new text and always returns-
979** an SQLITE_NOMEM error.-
980*/-
981static sqlite3_str sqlite3OomStr = {-
982 0, 0, 0, 0, 0, SQLITE_NOMEM, 0-
983};-
984-
985/* Finalize a string created using sqlite3_str_new().-
986*/-
987char *sqlite3_str_finish(sqlite3_str *p){-
988 char *z;-
989 if( p!=0 && p!=&sqlite3OomStr ){
p!=0Description
TRUEnever evaluated
FALSEnever evaluated
p!=&sqlite3OomStrDescription
TRUEnever evaluated
FALSEnever evaluated
0
990 z = sqlite3StrAccumFinish(p);-
991 sqlite3_free(p);-
992 }else{
never executed: end of block
0
993 z = 0;-
994 }
never executed: end of block
0
995 return z;
never executed: return z;
0
996}-
997-
998/* Return any error code associated with p */-
999int sqlite3_str_errcode(sqlite3_str *p){-
1000 return p ? p->accError : SQLITE_NOMEM;
never executed: return p ? p->accError : 7;
pDescription
TRUEnever evaluated
FALSEnever evaluated
0
1001}-
1002-
1003/* Return the current length of p in bytes */-
1004int sqlite3_str_length(sqlite3_str *p){-
1005 return p ? p->nChar : 0;
never executed: return p ? p->nChar : 0;
pDescription
TRUEnever evaluated
FALSEnever evaluated
0
1006}-
1007-
1008/* Return the current value for p */-
1009char *sqlite3_str_value(sqlite3_str *p){-
1010 if( p==0 || p->nChar==0 ) return 0;
executed 681 times by 1 test: return 0;
Executed by:
  • Self test (438)
p==0Description
TRUEnever evaluated
FALSEevaluated 21797 times by 1 test
Evaluated by:
  • Self test (438)
p->nChar==0Description
TRUEevaluated 681 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 21116 times by 1 test
Evaluated by:
  • Self test (438)
0-21797
1011 p->zText[p->nChar] = 0;-
1012 return p->zText;
executed 21116 times by 1 test: return p->zText;
Executed by:
  • Self test (438)
21116
1013}-
1014-
1015/*-
1016** Reset an StrAccum string. Reclaim all malloced memory.-
1017*/-
1018void sqlite3_str_reset(StrAccum *p){-
1019 if( isMalloced(p) ){
(((p)->printfFlags & 0x04)!=0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11122 times by 12 tests
Evaluated by:
  • Self test (43)
  • Self test (438)
  • Self test (45)
  • Self test (53)
  • Self test (65)
  • Self test (66)
  • Self test (67)
  • Self test (68)
  • Self test (69)
  • Self test (70)
  • Self test (71)
  • Self test (74)
2-11122
1020 sqlite3DbFree(p->db, p->zText);-
1021 p->printfFlags &= ~SQLITE_PRINTF_MALLOCED;-
1022 }
executed 2 times by 1 test: end of block
Executed by:
  • Self test (438)
2
1023 p->nAlloc = 0;-
1024 p->nChar = 0;-
1025 p->zText = 0;-
1026}
executed 11124 times by 12 tests: end of block
Executed by:
  • Self test (43)
  • Self test (438)
  • Self test (45)
  • Self test (53)
  • Self test (65)
  • Self test (66)
  • Self test (67)
  • Self test (68)
  • Self test (69)
  • Self test (70)
  • Self test (71)
  • Self test (74)
11124
1027-
1028/*-
1029** Initialize a string accumulator.-
1030**-
1031** p: The accumulator to be initialized.-
1032** db: Pointer to a database connection. May be NULL. Lookaside-
1033** memory is used if not NULL. db->mallocFailed is set appropriately-
1034** when not NULL.-
1035** zBase: An initial buffer. May be NULL in which case the initial buffer-
1036** is malloced.-
1037** n: Size of zBase in bytes. If total space requirements never exceed-
1038** n then no memory allocations ever occur.-
1039** mx: Maximum number of bytes to accumulate. If mx==0 then no memory-
1040** allocations will ever occur.-
1041*/-
1042void sqlite3StrAccumInit(StrAccum *p, sqlite3 *db, char *zBase, int n, int mx){-
1043 p->zText = zBase;-
1044 p->db = db;-
1045 p->nAlloc = n;-
1046 p->mxAlloc = mx;-
1047 p->nChar = 0;-
1048 p->accError = 0;-
1049 p->printfFlags = 0;-
1050}
executed 1289130 times by 438 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1289130
1051-
1052/* Allocate and initialize a new dynamic string object */-
1053sqlite3_str *sqlite3_str_new(sqlite3 *db){-
1054 sqlite3_str *p = sqlite3_malloc64(sizeof(*p));-
1055 if( p ){
pDescription
TRUEnever evaluated
FALSEnever evaluated
0
1056 sqlite3StrAccumInit(p, 0, 0, 0,-
1057 db ? db->aLimit[SQLITE_LIMIT_LENGTH] : SQLITE_MAX_LENGTH);-
1058 }else{
never executed: end of block
0
1059 p = &sqlite3OomStr;-
1060 }
never executed: end of block
0
1061 return p;
never executed: return p;
0
1062}-
1063-
1064/*-
1065** Print into memory obtained from sqliteMalloc(). Use the internal-
1066** %-conversion extensions.-
1067*/-
1068char *sqlite3VMPrintf(sqlite3 *db, const char *zFormat, va_list ap){-
1069 char *z;-
1070 char zBase[SQLITE_PRINT_BUF_SIZE];-
1071 StrAccum acc;-
1072 assert( db!=0 );-
1073 sqlite3StrAccumInit(&acc, db, zBase, sizeof(zBase),-
1074 db->aLimit[SQLITE_LIMIT_LENGTH]);-
1075 acc.printfFlags = SQLITE_PRINTF_INTERNAL;-
1076 sqlite3_str_vappendf(&acc, zFormat, ap);-
1077 z = sqlite3StrAccumFinish(&acc);-
1078 if( acc.accError==SQLITE_NOMEM ){
acc.accError==7Description
TRUEevaluated 3000 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 195009 times by 436 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
3000-195009
1079 sqlite3OomFault(db);-
1080 }
executed 3000 times by 1 test: end of block
Executed by:
  • Self test (438)
3000
1081 return z;
executed 198009 times by 436 tests: return z;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
198009
1082}-
1083-
1084/*-
1085** Print into memory obtained from sqliteMalloc(). Use the internal-
1086** %-conversion extensions.-
1087*/-
1088char *sqlite3MPrintf(sqlite3 *db, const char *zFormat, ...){-
1089 va_list ap;-
1090 char *z;-
1091 va_start(ap, zFormat);-
1092 z = sqlite3VMPrintf(db, zFormat, ap);-
1093 va_end(ap);-
1094 return z;
executed 144226 times by 435 tests: return z;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
144226
1095}-
1096-
1097/*-
1098** Print into memory obtained from sqlite3_malloc(). Omit the internal-
1099** %-conversion extensions.-
1100*/-
1101char *sqlite3_vmprintf(const char *zFormat, va_list ap){-
1102 char *z;-
1103 char zBase[SQLITE_PRINT_BUF_SIZE];-
1104 StrAccum acc;-
1105-
1106#ifdef SQLITE_ENABLE_API_ARMOR -
1107 if( zFormat==0 ){-
1108 (void)SQLITE_MISUSE_BKPT;-
1109 return 0;-
1110 }-
1111#endif-
1112#ifndef SQLITE_OMIT_AUTOINIT-
1113 if( sqlite3_initialize() ) return 0;
never executed: return 0;
sqlite3_initialize()Description
TRUEnever evaluated
FALSEevaluated 83268 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
0-83268
1114#endif-
1115 sqlite3StrAccumInit(&acc, 0, zBase, sizeof(zBase), SQLITE_MAX_LENGTH);-
1116 sqlite3_str_vappendf(&acc, zFormat, ap);-
1117 z = sqlite3StrAccumFinish(&acc);-
1118 return z;
executed 83269 times by 438 tests: return z;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
83269
1119}-
1120-
1121/*-
1122** Print into memory obtained from sqlite3_malloc()(). Omit the internal-
1123** %-conversion extensions.-
1124*/-
1125char *sqlite3_mprintf(const char *zFormat, ...){-
1126 va_list ap;-
1127 char *z;-
1128#ifndef SQLITE_OMIT_AUTOINIT-
1129 if( sqlite3_initialize() ) return 0;
never executed: return 0;
sqlite3_initialize()Description
TRUEnever evaluated
FALSEevaluated 73714 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
0-73714
1130#endif-
1131 va_start(ap, zFormat);-
1132 z = sqlite3_vmprintf(zFormat, ap);-
1133 va_end(ap);-
1134 return z;
executed 73715 times by 438 tests: return z;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
73715
1135}-
1136-
1137/*-
1138** sqlite3_snprintf() works like snprintf() except that it ignores the-
1139** current locale settings. This is important for SQLite because we-
1140** are not able to use a "," as the decimal point in place of "." as-
1141** specified by some locales.-
1142**-
1143** Oops: The first two arguments of sqlite3_snprintf() are backwards-
1144** from the snprintf() standard. Unfortunately, it is too late to change-
1145** this without breaking compatibility, so we just have to live with the-
1146** mistake.-
1147**-
1148** sqlite3_vsnprintf() is the varargs version.-
1149*/-
1150char *sqlite3_vsnprintf(int n, char *zBuf, const char *zFormat, va_list ap){-
1151 StrAccum acc;-
1152 if( n<=0 ) return zBuf;
executed 1 time by 1 test: return zBuf;
Executed by:
  • Self test (438)
n<=0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 944593 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
1-944593
1153#ifdef SQLITE_ENABLE_API_ARMOR-
1154 if( zBuf==0 || zFormat==0 ) {-
1155 (void)SQLITE_MISUSE_BKPT;-
1156 if( zBuf ) zBuf[0] = 0;-
1157 return zBuf;-
1158 }-
1159#endif-
1160 sqlite3StrAccumInit(&acc, 0, zBuf, n, 0);-
1161 sqlite3_str_vappendf(&acc, zFormat, ap);-
1162 zBuf[acc.nChar] = 0;-
1163 return zBuf;
executed 944593 times by 438 tests: return zBuf;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
944593
1164}-
1165char *sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){-
1166 char *z;-
1167 va_list ap;-
1168 va_start(ap,zFormat);-
1169 z = sqlite3_vsnprintf(n, zBuf, zFormat, ap);-
1170 va_end(ap);-
1171 return z;
executed 944593 times by 438 tests: return z;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
944593
1172}-
1173-
1174/*-
1175** This is the routine that actually formats the sqlite3_log() message.-
1176** We house it in a separate routine from sqlite3_log() to avoid using-
1177** stack space on small-stack systems when logging is disabled.-
1178**-
1179** sqlite3_log() must render into a static buffer. It cannot dynamically-
1180** allocate memory because it might be called while the memory allocator-
1181** mutex is held.-
1182**-
1183** sqlite3_str_vappendf() might ask for *temporary* memory allocations for-
1184** certain format characters (%q) or for very large precisions or widths.-
1185** Care must be taken that any sqlite3_log() calls that occur while the-
1186** memory mutex is held do not use these mechanisms.-
1187*/-
1188static void renderLogMsg(int iErrCode, const char *zFormat, va_list ap){-
1189 StrAccum acc; /* String accumulator */-
1190 char zMsg[SQLITE_PRINT_BUF_SIZE*3]; /* Complete log message */-
1191-
1192 sqlite3StrAccumInit(&acc, 0, zMsg, sizeof(zMsg), 0);-
1193 sqlite3_str_vappendf(&acc, zFormat, ap);-
1194 sqlite3GlobalConfig.xLog(sqlite3GlobalConfig.pLogArg, iErrCode,-
1195 sqlite3StrAccumFinish(&acc));-
1196}
executed 205 times by 1 test: end of block
Executed by:
  • Self test (438)
205
1197-
1198/*-
1199** Format and write a message to the log if logging is enabled.-
1200*/-
1201void sqlite3_log(int iErrCode, const char *zFormat, ...){-
1202 va_list ap; /* Vararg list */-
1203 if( sqlite3GlobalConfig.xLog ){
sqlite3Config.xLogDescription
TRUEevaluated 205 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 14950 times by 23 tests
Evaluated by:
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (34)
  • Self test (35)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (50)
  • Self test (53)
  • Self test (61)
  • Self test (78)
  • Self test (79)
  • Self test (80)
  • Self test (81)
  • Self test (82)
  • Self test (83)
205-14950
1204 va_start(ap, zFormat);-
1205 renderLogMsg(iErrCode, zFormat, ap);-
1206 va_end(ap);-
1207 }
executed 205 times by 1 test: end of block
Executed by:
  • Self test (438)
205
1208}
executed 15155 times by 23 tests: end of block
Executed by:
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (34)
  • Self test (35)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (50)
  • Self test (53)
  • Self test (61)
  • Self test (78)
  • Self test (79)
  • Self test (80)
  • Self test (81)
  • Self test (82)
  • Self test (83)
15155
1209-
1210#if defined(SQLITE_DEBUG) || defined(SQLITE_HAVE_OS_TRACE)-
1211/*-
1212** A version of printf() that understands %lld. Used for debugging.-
1213** The printf() built into some versions of windows does not understand %lld-
1214** and segfaults if you give it a long long int.-
1215*/-
1216void sqlite3DebugPrintf(const char *zFormat, ...){-
1217 va_list ap;-
1218 StrAccum acc;-
1219 char zBuf[500];-
1220 sqlite3StrAccumInit(&acc, 0, zBuf, sizeof(zBuf), 0);-
1221 va_start(ap,zFormat);-
1222 sqlite3_str_vappendf(&acc, zFormat, ap);-
1223 va_end(ap);-
1224 sqlite3StrAccumFinish(&acc);-
1225#ifdef SQLITE_OS_TRACE_PROC-
1226 {-
1227 extern void SQLITE_OS_TRACE_PROC(const char *zBuf, int nBuf);-
1228 SQLITE_OS_TRACE_PROC(zBuf, sizeof(zBuf));-
1229 }-
1230#else-
1231 fprintf(stdout,"%s", zBuf);-
1232 fflush(stdout);-
1233#endif-
1234}
never executed: end of block
0
1235#endif-
1236-
1237-
1238/*-
1239** variable-argument wrapper around sqlite3_str_vappendf(). The bFlags argument-
1240** can contain the bit SQLITE_PRINTF_INTERNAL enable internal formats.-
1241*/-
1242void sqlite3_str_appendf(StrAccum *p, const char *zFormat, ...){-
1243 va_list ap;-
1244 va_start(ap,zFormat);-
1245 sqlite3_str_vappendf(p, zFormat, ap);-
1246 va_end(ap);-
1247}
executed 78448 times by 1 test: end of block
Executed by:
  • Self test (438)
78448
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2