Annotation of embedaddon/sqlite3/test/printf.test, revision 1.1.1.1

1.1       misho       1: # 2001 September 15
                      2: #
                      3: # The author disclaims copyright to this source code.  In place of
                      4: # a legal notice, here is a blessing:
                      5: #
                      6: #    May you do good and not evil.
                      7: #    May you find forgiveness for yourself and forgive others.
                      8: #    May you share freely, never taking more than you give.
                      9: #
                     10: #***********************************************************************
                     11: # This file implements regression tests for SQLite library.  The
                     12: # focus of this file is testing the sqlite_*_printf() interface.
                     13: #
                     14: # $Id: printf.test,v 1.31 2009/02/01 00:21:10 drh Exp $
                     15: 
                     16: set testdir [file dirname $argv0]
                     17: source $testdir/tester.tcl
                     18: 
                     19: 
                     20: do_test printf-1.1.1 {
                     21:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                     22:        1 1 1
                     23: } {abc: 1 1 1 :xyz}
                     24: do_test printf-1.1.2 {
                     25:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                     26:        1 1 1
                     27: } {abc: (     1) (     1) (     1) :xyz}
                     28: do_test printf-1.1.3 {
                     29:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                     30:        1 1 1
                     31: } {abc: (1     ) (1     ) (1     ) :xyz}
                     32: do_test printf-1.1.4 {
                     33:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                     34:        1 1 1
                     35: } {abc: (    +1) (     1) (     1) :xyz}
                     36: do_test printf-1.1.5 {
                     37:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                     38:        1 1 1
                     39: } {abc: (000001) (000001) (000001) :xyz}
                     40: do_test printf-1.1.6 {
                     41:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                     42:        1 1 1
                     43: } {abc: (     1) (     1) (     1) :xyz}
                     44: do_test printf-1.1.7 {
                     45:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                     46:        1 1 1
                     47: } {abc: (     1) (   0x1) (    01) :xyz}
                     48: do_test printf-1.2.1 {
                     49:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                     50:        2 2 2
                     51: } {abc: 2 2 2 :xyz}
                     52: do_test printf-1.2.2 {
                     53:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                     54:        2 2 2
                     55: } {abc: (     2) (     2) (     2) :xyz}
                     56: do_test printf-1.2.3 {
                     57:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                     58:        2 2 2
                     59: } {abc: (2     ) (2     ) (2     ) :xyz}
                     60: do_test printf-1.2.4 {
                     61:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                     62:        2 2 2
                     63: } {abc: (    +2) (     2) (     2) :xyz}
                     64: do_test printf-1.2.5 {
                     65:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                     66:        2 2 2
                     67: } {abc: (000002) (000002) (000002) :xyz}
                     68: do_test printf-1.2.6 {
                     69:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                     70:        2 2 2
                     71: } {abc: (     2) (     2) (     2) :xyz}
                     72: do_test printf-1.2.7 {
                     73:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                     74:        2 2 2
                     75: } {abc: (     2) (   0x2) (    02) :xyz}
                     76: do_test printf-1.3.1 {
                     77:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                     78:        5 5 5
                     79: } {abc: 5 5 5 :xyz}
                     80: do_test printf-1.3.2 {
                     81:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                     82:        5 5 5
                     83: } {abc: (     5) (     5) (     5) :xyz}
                     84: do_test printf-1.3.3 {
                     85:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                     86:        5 5 5
                     87: } {abc: (5     ) (5     ) (5     ) :xyz}
                     88: do_test printf-1.3.4 {
                     89:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                     90:        5 5 5
                     91: } {abc: (    +5) (     5) (     5) :xyz}
                     92: do_test printf-1.3.5 {
                     93:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                     94:        5 5 5
                     95: } {abc: (000005) (000005) (000005) :xyz}
                     96: do_test printf-1.3.6 {
                     97:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                     98:        5 5 5
                     99: } {abc: (     5) (     5) (     5) :xyz}
                    100: do_test printf-1.3.7 {
                    101:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    102:        5 5 5
                    103: } {abc: (     5) (   0x5) (    05) :xyz}
                    104: do_test printf-1.4.1 {
                    105:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    106:        10 10 10
                    107: } {abc: 10 a 12 :xyz}
                    108: do_test printf-1.4.2 {
                    109:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    110:        10 10 10
                    111: } {abc: (    10) (     a) (    12) :xyz}
                    112: do_test printf-1.4.3 {
                    113:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    114:        10 10 10
                    115: } {abc: (10    ) (a     ) (12    ) :xyz}
                    116: do_test printf-1.4.4 {
                    117:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    118:        10 10 10
                    119: } {abc: (   +10) (     a) (    12) :xyz}
                    120: do_test printf-1.4.5 {
                    121:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    122:        10 10 10
                    123: } {abc: (000010) (00000a) (000012) :xyz}
                    124: do_test printf-1.4.6 {
                    125:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    126:        10 10 10
                    127: } {abc: (    10) (     a) (    12) :xyz}
                    128: do_test printf-1.4.7 {
                    129:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    130:        10 10 10
                    131: } {abc: (    10) (   0xa) (   012) :xyz}
                    132: do_test printf-1.5.1 {
                    133:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    134:        99 99 99
                    135: } {abc: 99 63 143 :xyz}
                    136: do_test printf-1.5.2 {
                    137:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    138:        99 99 99
                    139: } {abc: (    99) (    63) (   143) :xyz}
                    140: do_test printf-1.5.3 {
                    141:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    142:        99 99 99
                    143: } {abc: (99    ) (63    ) (143   ) :xyz}
                    144: do_test printf-1.5.4 {
                    145:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    146:        99 99 99
                    147: } {abc: (   +99) (    63) (   143) :xyz}
                    148: do_test printf-1.5.5 {
                    149:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    150:        99 99 99
                    151: } {abc: (000099) (000063) (000143) :xyz}
                    152: do_test printf-1.5.6 {
                    153:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    154:        99 99 99
                    155: } {abc: (    99) (    63) (   143) :xyz}
                    156: do_test printf-1.5.7 {
                    157:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    158:        99 99 99
                    159: } {abc: (    99) (  0x63) (  0143) :xyz}
                    160: do_test printf-1.6.1 {
                    161:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    162:        100 100 100
                    163: } {abc: 100 64 144 :xyz}
                    164: do_test printf-1.6.2 {
                    165:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    166:        100 100 100
                    167: } {abc: (   100) (    64) (   144) :xyz}
                    168: do_test printf-1.6.3 {
                    169:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    170:        100 100 100
                    171: } {abc: (100   ) (64    ) (144   ) :xyz}
                    172: do_test printf-1.6.4 {
                    173:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    174:        100 100 100
                    175: } {abc: (  +100) (    64) (   144) :xyz}
                    176: do_test printf-1.6.5 {
                    177:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    178:        100 100 100
                    179: } {abc: (000100) (000064) (000144) :xyz}
                    180: do_test printf-1.6.6 {
                    181:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    182:        100 100 100
                    183: } {abc: (   100) (    64) (   144) :xyz}
                    184: do_test printf-1.6.7 {
                    185:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    186:        100 100 100
                    187: } {abc: (   100) (  0x64) (  0144) :xyz}
                    188: do_test printf-1.7.1 {
                    189:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    190:        1000000 1000000 1000000
                    191: } {abc: 1000000 f4240 3641100 :xyz}
                    192: do_test printf-1.7.2 {
                    193:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    194:        1000000 1000000 1000000
                    195: } {abc: (1000000) ( f4240) (3641100) :xyz}
                    196: do_test printf-1.7.3 {
                    197:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    198:        1000000 1000000 1000000
                    199: } {abc: (1000000) (f4240 ) (3641100) :xyz}
                    200: do_test printf-1.7.4 {
                    201:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    202:        1000000 1000000 1000000
                    203: } {abc: (+1000000) ( f4240) (3641100) :xyz}
                    204: do_test printf-1.7.5 {
                    205:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    206:        1000000 1000000 1000000
                    207: } {abc: (1000000) (0f4240) (3641100) :xyz}
                    208: do_test printf-1.7.6 {
                    209:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    210:        1000000 1000000 1000000
                    211: } {abc: ( 1000000) ( f4240) (3641100) :xyz}
                    212: do_test printf-1.7.7 {
                    213:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    214:        1000000 1000000 1000000
                    215: } {abc: (1000000) (0xf4240) (03641100) :xyz}
                    216: do_test printf-1.8.1 {
                    217:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    218:        999999999 999999999 999999999
                    219: } {abc: 999999999 3b9ac9ff 7346544777 :xyz}
                    220: do_test printf-1.8.2 {
                    221:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    222:        999999999 999999999 999999999
                    223: } {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
                    224: do_test printf-1.8.3 {
                    225:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    226:        999999999 999999999 999999999
                    227: } {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
                    228: do_test printf-1.8.4 {
                    229:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    230:        999999999 999999999 999999999
                    231: } {abc: (+999999999) (3b9ac9ff) (7346544777) :xyz}
                    232: do_test printf-1.8.5 {
                    233:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    234:        999999999 999999999 999999999
                    235: } {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
                    236: do_test printf-1.8.6 {
                    237:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    238:        999999999 999999999 999999999
                    239: } {abc: ( 999999999) (3b9ac9ff) (7346544777) :xyz}
                    240: do_test printf-1.8.7 {
                    241:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    242:        999999999 999999999 999999999
                    243: } {abc: (999999999) (0x3b9ac9ff) (07346544777) :xyz}
                    244: do_test printf-1.9.1 {
                    245:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    246:        0 0 0
                    247: } {abc: 0 0 0 :xyz}
                    248: do_test printf-1.9.2 {
                    249:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    250:        0 0 0
                    251: } {abc: (     0) (     0) (     0) :xyz}
                    252: do_test printf-1.9.3 {
                    253:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    254:        0 0 0
                    255: } {abc: (0     ) (0     ) (0     ) :xyz}
                    256: do_test printf-1.9.4 {
                    257:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    258:        0 0 0
                    259: } {abc: (    +0) (     0) (     0) :xyz}
                    260: do_test printf-1.9.5 {
                    261:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    262:        0 0 0
                    263: } {abc: (000000) (000000) (000000) :xyz}
                    264: do_test printf-1.9.6 {
                    265:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    266:        0 0 0
                    267: } {abc: (     0) (     0) (     0) :xyz}
                    268: do_test printf-1.9.7 {
                    269:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    270:        0 0 0
                    271: } {abc: (     0) (     0) (     0) :xyz}
                    272: # 0xffffffff == -1
                    273: do_test printf-1.10.1 {
                    274:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    275:        0xffffffff 0xffffffff 0xffffffff
                    276: } {abc: -1 ffffffff 37777777777 :xyz}
                    277: do_test printf-1.10.2 {
                    278:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    279:        0xffffffff 0xffffffff 0xffffffff
                    280: } {abc: (    -1) (ffffffff) (37777777777) :xyz}
                    281: do_test printf-1.10.3 {
                    282:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    283:        0xffffffff 0xffffffff 0xffffffff
                    284: } {abc: (-1    ) (ffffffff) (37777777777) :xyz}
                    285: do_test printf-1.10.4 {
                    286:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    287:        0xffffffff 0xffffffff 0xffffffff
                    288: } {abc: (    -1) (ffffffff) (37777777777) :xyz}
                    289: do_test printf-1.10.5 {
                    290:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    291:        0xffffffff 0xffffffff 0xffffffff
                    292: } {abc: (-00001) (ffffffff) (37777777777) :xyz}
                    293: do_test printf-1.10.6 {
                    294:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    295:        0xffffffff 0xffffffff 0xffffffff
                    296: } {abc: (    -1) (ffffffff) (37777777777) :xyz}
                    297: do_test printf-1.10.7 {
                    298:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    299:        0xffffffff 0xffffffff 0xffffffff
                    300: } {abc: (    -1) (0xffffffff) (037777777777) :xyz}
                    301: # 0xfffffffe == -2
                    302: do_test printf-1.11.1 {
                    303:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    304:        0xfffffffe 0xfffffffe 0xfffffffe
                    305: } {abc: -2 fffffffe 37777777776 :xyz}
                    306: do_test printf-1.11.2 {
                    307:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    308:        0xfffffffe 0xfffffffe 0xfffffffe
                    309: } {abc: (    -2) (fffffffe) (37777777776) :xyz}
                    310: do_test printf-1.11.3 {
                    311:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    312:        0xfffffffe 0xfffffffe 0xfffffffe
                    313: } {abc: (-2    ) (fffffffe) (37777777776) :xyz}
                    314: do_test printf-1.11.4 {
                    315:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    316:        0xfffffffe 0xfffffffe 0xfffffffe
                    317: } {abc: (    -2) (fffffffe) (37777777776) :xyz}
                    318: do_test printf-1.11.5 {
                    319:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    320:        0xfffffffe 0xfffffffe 0xfffffffe
                    321: } {abc: (-00002) (fffffffe) (37777777776) :xyz}
                    322: do_test printf-1.11.6 {
                    323:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    324:        0xfffffffe 0xfffffffe 0xfffffffe
                    325: } {abc: (    -2) (fffffffe) (37777777776) :xyz}
                    326: do_test printf-1.11.7 {
                    327:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    328:        0xfffffffe 0xfffffffe 0xfffffffe
                    329: } {abc: (    -2) (0xfffffffe) (037777777776) :xyz}
                    330: # 0xfffffffb == -5
                    331: do_test printf-1.12.1 {
                    332:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    333:        0xfffffffb 0xfffffffb 0xfffffffb
                    334: } {abc: -5 fffffffb 37777777773 :xyz}
                    335: do_test printf-1.12.2 {
                    336:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    337:        0xfffffffb 0xfffffffb 0xfffffffb
                    338: } {abc: (    -5) (fffffffb) (37777777773) :xyz}
                    339: do_test printf-1.12.3 {
                    340:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    341:        0xfffffffb 0xfffffffb 0xfffffffb
                    342: } {abc: (-5    ) (fffffffb) (37777777773) :xyz}
                    343: do_test printf-1.12.4 {
                    344:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    345:        0xfffffffb 0xfffffffb 0xfffffffb
                    346: } {abc: (    -5) (fffffffb) (37777777773) :xyz}
                    347: do_test printf-1.12.5 {
                    348:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    349:        0xfffffffb 0xfffffffb 0xfffffffb
                    350: } {abc: (-00005) (fffffffb) (37777777773) :xyz}
                    351: do_test printf-1.12.6 {
                    352:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    353:        0xfffffffb 0xfffffffb 0xfffffffb
                    354: } {abc: (    -5) (fffffffb) (37777777773) :xyz}
                    355: do_test printf-1.12.7 {
                    356:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    357:        0xfffffffb 0xfffffffb 0xfffffffb
                    358: } {abc: (    -5) (0xfffffffb) (037777777773) :xyz}
                    359: # 0xfffffff6 == -10
                    360: do_test printf-1.13.1 {
                    361:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    362:        0xfffffff6 0xfffffff6 0xfffffff6
                    363: } {abc: -10 fffffff6 37777777766 :xyz}
                    364: do_test printf-1.13.2 {
                    365:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    366:        0xfffffff6 0xfffffff6 0xfffffff6
                    367: } {abc: (   -10) (fffffff6) (37777777766) :xyz}
                    368: do_test printf-1.13.3 {
                    369:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    370:        0xfffffff6 0xfffffff6 0xfffffff6
                    371: } {abc: (-10   ) (fffffff6) (37777777766) :xyz}
                    372: do_test printf-1.13.4 {
                    373:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    374:        0xfffffff6 0xfffffff6 0xfffffff6
                    375: } {abc: (   -10) (fffffff6) (37777777766) :xyz}
                    376: do_test printf-1.13.5 {
                    377:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    378:        0xfffffff6 0xfffffff6 0xfffffff6
                    379: } {abc: (-00010) (fffffff6) (37777777766) :xyz}
                    380: do_test printf-1.13.6 {
                    381:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    382:        0xfffffff6 0xfffffff6 0xfffffff6
                    383: } {abc: (   -10) (fffffff6) (37777777766) :xyz}
                    384: do_test printf-1.13.7 {
                    385:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    386:        0xfffffff6 0xfffffff6 0xfffffff6
                    387: } {abc: (   -10) (0xfffffff6) (037777777766) :xyz}
                    388: # 0xffffff9d == -99
                    389: do_test printf-1.14.1 {
                    390:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    391:        0xffffff9d 0xffffff9d 0xffffff9d
                    392: } {abc: -99 ffffff9d 37777777635 :xyz}
                    393: do_test printf-1.14.2 {
                    394:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    395:        0xffffff9d 0xffffff9d 0xffffff9d
                    396: } {abc: (   -99) (ffffff9d) (37777777635) :xyz}
                    397: do_test printf-1.14.3 {
                    398:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    399:        0xffffff9d 0xffffff9d 0xffffff9d
                    400: } {abc: (-99   ) (ffffff9d) (37777777635) :xyz}
                    401: do_test printf-1.14.4 {
                    402:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    403:        0xffffff9d 0xffffff9d 0xffffff9d
                    404: } {abc: (   -99) (ffffff9d) (37777777635) :xyz}
                    405: do_test printf-1.14.5 {
                    406:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    407:        0xffffff9d 0xffffff9d 0xffffff9d
                    408: } {abc: (-00099) (ffffff9d) (37777777635) :xyz}
                    409: do_test printf-1.14.6 {
                    410:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    411:        0xffffff9d 0xffffff9d 0xffffff9d
                    412: } {abc: (   -99) (ffffff9d) (37777777635) :xyz}
                    413: do_test printf-1.14.7 {
                    414:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    415:        0xffffff9d 0xffffff9d 0xffffff9d
                    416: } {abc: (   -99) (0xffffff9d) (037777777635) :xyz}
                    417: # 0xffffff9c == -100
                    418: do_test printf-1.15.1 {
                    419:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    420:        0xffffff9c 0xffffff9c 0xffffff9c
                    421: } {abc: -100 ffffff9c 37777777634 :xyz}
                    422: do_test printf-1.15.2 {
                    423:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    424:        0xffffff9c 0xffffff9c 0xffffff9c
                    425: } {abc: (  -100) (ffffff9c) (37777777634) :xyz}
                    426: do_test printf-1.15.3 {
                    427:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    428:        0xffffff9c 0xffffff9c 0xffffff9c
                    429: } {abc: (-100  ) (ffffff9c) (37777777634) :xyz}
                    430: do_test printf-1.15.4 {
                    431:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    432:        0xffffff9c 0xffffff9c 0xffffff9c
                    433: } {abc: (  -100) (ffffff9c) (37777777634) :xyz}
                    434: do_test printf-1.15.5 {
                    435:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    436:        0xffffff9c 0xffffff9c 0xffffff9c
                    437: } {abc: (-00100) (ffffff9c) (37777777634) :xyz}
                    438: do_test printf-1.15.6 {
                    439:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    440:        0xffffff9c 0xffffff9c 0xffffff9c
                    441: } {abc: (  -100) (ffffff9c) (37777777634) :xyz}
                    442: do_test printf-1.15.7 {
                    443:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    444:        0xffffff9c 0xffffff9c 0xffffff9c
                    445: } {abc: (  -100) (0xffffff9c) (037777777634) :xyz}
                    446: # 0xff676981 == -9999999
                    447: do_test printf-1.16.1 {
                    448:   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
                    449:        0xff676981 0xff676981 0xff676981
                    450: } {abc: -9999999 ff676981 37731664601 :xyz}
                    451: do_test printf-1.16.2 {
                    452:   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
                    453:        0xff676981 0xff676981 0xff676981
                    454: } {abc: (-9999999) (ff676981) (37731664601) :xyz}
                    455: do_test printf-1.16.3 {
                    456:   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
                    457:        0xff676981 0xff676981 0xff676981
                    458: } {abc: (-9999999) (ff676981) (37731664601) :xyz}
                    459: do_test printf-1.16.4 {
                    460:   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
                    461:        0xff676981 0xff676981 0xff676981
                    462: } {abc: (-9999999) (ff676981) (37731664601) :xyz}
                    463: do_test printf-1.16.5 {
                    464:   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
                    465:        0xff676981 0xff676981 0xff676981
                    466: } {abc: (-9999999) (ff676981) (37731664601) :xyz}
                    467: do_test printf-1.16.6 {
                    468:   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
                    469:        0xff676981 0xff676981 0xff676981
                    470: } {abc: (-9999999) (ff676981) (37731664601) :xyz}
                    471: do_test printf-1.16.7 {
                    472:   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
                    473:        0xff676981 0xff676981 0xff676981
                    474: } {abc: (-9999999) (0xff676981) (037731664601) :xyz}
                    475: do_test printf-2.1.1.1 {
                    476:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 0.001
                    477: } {abc: (0.0) :xyz}
                    478: do_test printf-2.1.1.2 {
                    479:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 0.001
                    480: } {abc: (1.0e-03) :xyz}
                    481: do_test printf-2.1.1.3 {
                    482:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 0.001
                    483: } {abc: (0.001) :xyz}
                    484: do_test printf-2.1.1.4 {
                    485:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 0.001
                    486: } {abc: 1 1 (0.001) :xyz}
                    487: do_test printf-2.1.1.5 {
                    488:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 0.001
                    489: } {abc: 1 1 (0.00100000) :xyz}
                    490: do_test printf-2.1.1.6 {
                    491:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 0.001
                    492: } {abc: 1 1 (000000.001) :xyz}
                    493: do_test printf-2.1.1.7 {
                    494:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 0.001
                    495: } {abc: 1 1 (0.0) :xyz}
                    496: do_test printf-2.1.1.8 {
                    497:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 0.001
                    498: } {abc: 1 1 (1.0e-03) :xyz}
                    499: do_test printf-2.1.1.9 {
                    500:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 0.001
                    501: } {abc: 1 1 (0.001) :xyz}
                    502: do_test printf-2.1.2.1 {
                    503:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 1.0e-20
                    504: } {abc: (0.0) :xyz}
                    505: do_test printf-2.1.2.2 {
                    506:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 1.0e-20
                    507: } {abc: (1.0e-20) :xyz}
                    508: do_test printf-2.1.2.3 {
                    509:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 1.0e-20
                    510: } {abc: (1e-20) :xyz}
                    511: do_test printf-2.1.2.4 {
                    512:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 1.0e-20
                    513: } {abc: 1 1 (1e-20) :xyz}
                    514: do_test printf-2.1.2.5 {
                    515:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 1.0e-20
                    516: } {abc: 1 1 (1.00000e-20) :xyz}
                    517: do_test printf-2.1.2.6 {
                    518:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 1.0e-20
                    519: } {abc: 1 1 (000001e-20) :xyz}
                    520: do_test printf-2.1.2.7 {
                    521:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 1.0e-20
                    522: } {abc: 1 1 (0.0) :xyz}
                    523: do_test printf-2.1.2.8 {
                    524:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 1.0e-20
                    525: } {abc: 1 1 (1.0e-20) :xyz}
                    526: do_test printf-2.1.2.9 {
                    527:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 1.0e-20
                    528: } {abc: 1 1 (1e-20) :xyz}
                    529: do_test printf-2.1.3.1 {
                    530:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 1.0
                    531: } {abc: (1.0) :xyz}
                    532: do_test printf-2.1.3.2 {
                    533:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 1.0
                    534: } {abc: (1.0e+00) :xyz}
                    535: do_test printf-2.1.3.3 {
                    536:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 1.0
                    537: } {abc: (1) :xyz}
                    538: do_test printf-2.1.3.4 {
                    539:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 1.0
                    540: } {abc: 1 1 (1) :xyz}
                    541: do_test printf-2.1.3.5 {
                    542:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 1.0
                    543: } {abc: 1 1 (1.00000) :xyz}
                    544: do_test printf-2.1.3.6 {
                    545:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 1.0
                    546: } {abc: 1 1 (0000000001) :xyz}
                    547: do_test printf-2.1.3.7 {
                    548:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 1.0
                    549: } {abc: 1 1 (1.0) :xyz}
                    550: do_test printf-2.1.3.8 {
                    551:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 1.0
                    552: } {abc: 1 1 (1.0e+00) :xyz}
                    553: do_test printf-2.1.3.9 {
                    554:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 1.0
                    555: } {abc: 1 1 (1) :xyz}
                    556: do_test printf-2.1.4.1 {
                    557:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 0.0
                    558: } {abc: (0.0) :xyz}
                    559: do_test printf-2.1.4.2 {
                    560:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 0.0
                    561: } {abc: (0.0e+00) :xyz}
                    562: do_test printf-2.1.4.3 {
                    563:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 0.0
                    564: } {abc: (0) :xyz}
                    565: do_test printf-2.1.4.4 {
                    566:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 0.0
                    567: } {abc: 1 1 (0) :xyz}
                    568: do_test printf-2.1.4.5 {
                    569:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 0.0
                    570: } {abc: 1 1 (0.00000) :xyz}
                    571: do_test printf-2.1.4.6 {
                    572:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 0.0
                    573: } {abc: 1 1 (0000000000) :xyz}
                    574: do_test printf-2.1.4.7 {
                    575:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 0.0
                    576: } {abc: 1 1 (0.0) :xyz}
                    577: do_test printf-2.1.4.8 {
                    578:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 0.0
                    579: } {abc: 1 1 (0.0e+00) :xyz}
                    580: do_test printf-2.1.4.9 {
                    581:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 0.0
                    582: } {abc: 1 1 (0) :xyz}
                    583: do_test printf-2.1.5.1 {
                    584:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 100.0
                    585: } {abc: (100.0) :xyz}
                    586: do_test printf-2.1.5.2 {
                    587:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 100.0
                    588: } {abc: (1.0e+02) :xyz}
                    589: do_test printf-2.1.5.3 {
                    590:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 100.0
                    591: } {abc: (1e+02) :xyz}
                    592: do_test printf-2.1.5.4 {
                    593:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 100.0
                    594: } {abc: 1 1 (100) :xyz}
                    595: do_test printf-2.1.5.5 {
                    596:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 100.0
                    597: } {abc: 1 1 (100.000) :xyz}
                    598: do_test printf-2.1.5.6 {
                    599:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 100.0
                    600: } {abc: 1 1 (0000000100) :xyz}
                    601: do_test printf-2.1.5.7 {
                    602:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 100.0
                    603: } {abc: 1 1 (100.0) :xyz}
                    604: do_test printf-2.1.5.8 {
                    605:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 100.0
                    606: } {abc: 1 1 (1.0e+02) :xyz}
                    607: do_test printf-2.1.5.9 {
                    608:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 100.0
                    609: } {abc: 1 1 (1e+02) :xyz}
                    610: do_test printf-2.1.6.1 {
                    611:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 9.99999
                    612: } {abc: (10.0) :xyz}
                    613: do_test printf-2.1.6.2 {
                    614:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 9.99999
                    615: } {abc: (1.0e+01) :xyz}
                    616: do_test printf-2.1.6.3 {
                    617:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 9.99999
                    618: } {abc: (1e+01) :xyz}
                    619: do_test printf-2.1.6.4 {
                    620:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 9.99999
                    621: } {abc: 1 1 (9.99999) :xyz}
                    622: do_test printf-2.1.6.5 {
                    623:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 9.99999
                    624: } {abc: 1 1 (9.99999) :xyz}
                    625: do_test printf-2.1.6.6 {
                    626:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 9.99999
                    627: } {abc: 1 1 (0009.99999) :xyz}
                    628: do_test printf-2.1.6.7 {
                    629:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 9.99999
                    630: } {abc: 1 1 (10.0) :xyz}
                    631: do_test printf-2.1.6.8 {
                    632:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 9.99999
                    633: } {abc: 1 1 (1.0e+01) :xyz}
                    634: do_test printf-2.1.6.9 {
                    635:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 9.99999
                    636: } {abc: 1 1 (1e+01) :xyz}
                    637: do_test printf-2.1.7.1 {
                    638:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -0.00543
                    639: } {abc: (-0.0) :xyz}
                    640: do_test printf-2.1.7.2 {
                    641:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -0.00543
                    642: } {abc: (-5.4e-03) :xyz}
                    643: do_test printf-2.1.7.3 {
                    644:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -0.00543
                    645: } {abc: (-0.005) :xyz}
                    646: do_test printf-2.1.7.4 {
                    647:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -0.00543
                    648: } {abc: 1 1 (-0.00543) :xyz}
                    649: do_test printf-2.1.7.5 {
                    650:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -0.00543
                    651: } {abc: 1 1 (-0.00543000) :xyz}
                    652: do_test printf-2.1.7.6 {
                    653:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -0.00543
                    654: } {abc: 1 1 (-000.00543) :xyz}
                    655: do_test printf-2.1.7.7 {
                    656:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -0.00543
                    657: } {abc: 1 1 (-0.0) :xyz}
                    658: do_test printf-2.1.7.8 {
                    659:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -0.00543
                    660: } {abc: 1 1 (-5.4e-03) :xyz}
                    661: do_test printf-2.1.7.9 {
                    662:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -0.00543
                    663: } {abc: 1 1 (-0.005) :xyz}
                    664: do_test printf-2.1.8.1 {
                    665:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -1.0
                    666: } {abc: (-1.0) :xyz}
                    667: do_test printf-2.1.8.2 {
                    668:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -1.0
                    669: } {abc: (-1.0e+00) :xyz}
                    670: do_test printf-2.1.8.3 {
                    671:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -1.0
                    672: } {abc: (-1) :xyz}
                    673: do_test printf-2.1.8.4 {
                    674:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -1.0
                    675: } {abc: 1 1 (-1) :xyz}
                    676: do_test printf-2.1.8.5 {
                    677:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -1.0
                    678: } {abc: 1 1 (-1.00000) :xyz}
                    679: do_test printf-2.1.8.6 {
                    680:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -1.0
                    681: } {abc: 1 1 (-000000001) :xyz}
                    682: do_test printf-2.1.8.7 {
                    683:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -1.0
                    684: } {abc: 1 1 (-1.0) :xyz}
                    685: do_test printf-2.1.8.8 {
                    686:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -1.0
                    687: } {abc: 1 1 (-1.0e+00) :xyz}
                    688: do_test printf-2.1.8.9 {
                    689:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -1.0
                    690: } {abc: 1 1 (-1) :xyz}
                    691: do_test printf-2.1.9.1 {
                    692:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -99.99999
                    693: } {abc: (-100.0) :xyz}
                    694: do_test printf-2.1.9.2 {
                    695:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -99.99999
                    696: } {abc: (-1.0e+02) :xyz}
                    697: do_test printf-2.1.9.3 {
                    698:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -99.99999
                    699: } {abc: (-1e+02) :xyz}
                    700: do_test printf-2.1.9.4 {
                    701:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -99.99999
                    702: } {abc: 1 1 (-100) :xyz}
                    703: do_test printf-2.1.9.5 {
                    704:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -99.99999
                    705: } {abc: 1 1 (-100.000) :xyz}
                    706: do_test printf-2.1.9.6 {
                    707:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -99.99999
                    708: } {abc: 1 1 (-000000100) :xyz}
                    709: do_test printf-2.1.9.7 {
                    710:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -99.99999
                    711: } {abc: 1 1 (-100.0) :xyz}
                    712: do_test printf-2.1.9.8 {
                    713:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -99.99999
                    714: } {abc: 1 1 (-1.0e+02) :xyz}
                    715: do_test printf-2.1.9.9 {
                    716:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -99.99999
                    717: } {abc: 1 1 (-1e+02) :xyz}
                    718: do_test printf-2.1.10.1 {
                    719:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 3.14e+9
                    720: } {abc: (3140000000.0) :xyz}
                    721: do_test printf-2.1.10.2 {
                    722:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 3.14e+9
                    723: } {abc: (3.1e+09) :xyz}
                    724: do_test printf-2.1.10.3 {
                    725:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 3.14e+9
                    726: } {abc: (3e+09) :xyz}
                    727: do_test printf-2.1.10.4 {
                    728:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 3.14e+9
                    729: } {abc: 1 1 (3.14e+09) :xyz}
                    730: do_test printf-2.1.10.5 {
                    731:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 3.14e+9
                    732: } {abc: 1 1 (3.14000e+09) :xyz}
                    733: do_test printf-2.1.10.6 {
                    734:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 3.14e+9
                    735: } {abc: 1 1 (003.14e+09) :xyz}
                    736: do_test printf-2.1.10.7 {
                    737:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 3.14e+9
                    738: } {abc: 1 1 (3140000000.0) :xyz}
                    739: do_test printf-2.1.10.8 {
                    740:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 3.14e+9
                    741: } {abc: 1 1 (3.1e+09) :xyz}
                    742: do_test printf-2.1.10.9 {
                    743:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 3.14e+9
                    744: } {abc: 1 1 (3e+09) :xyz}
                    745: do_test printf-2.1.11.2 {
                    746:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -4.72732e+88
                    747: } {abc: (-4.7e+88) :xyz}
                    748: do_test printf-2.1.11.3 {
                    749:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -4.72732e+88
                    750: } {abc: (-5e+88) :xyz}
                    751: do_test printf-2.1.11.4 {
                    752:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -4.72732e+88
                    753: } {abc: 1 1 (-4.72732e+88) :xyz}
                    754: do_test printf-2.1.11.5 {
                    755:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -4.72732e+88
                    756: } {abc: 1 1 (-4.72732e+88) :xyz}
                    757: do_test printf-2.1.11.6 {
                    758:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -4.72732e+88
                    759: } {abc: 1 1 (-4.72732e+88) :xyz}
                    760: do_test printf-2.1.11.8 {
                    761:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -4.72732e+88
                    762: } {abc: 1 1 (-4.7e+88) :xyz}
                    763: do_test printf-2.1.11.9 {
                    764:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -4.72732e+88
                    765: } {abc: 1 1 (-5e+88) :xyz}
                    766: do_test printf-2.1.12.2 {
                    767:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 9.87991e+143
                    768: } {abc: (9.9e+143) :xyz}
                    769: do_test printf-2.1.12.3 {
                    770:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 9.87991e+143
                    771: } {abc: (1e+144) :xyz}
                    772: do_test printf-2.1.12.4 {
                    773:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 9.87991e+143
                    774: } {abc: 1 1 (9.87991e+143) :xyz}
                    775: do_test printf-2.1.12.5 {
                    776:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 9.87991e+143
                    777: } {abc: 1 1 (9.87991e+143) :xyz}
                    778: do_test printf-2.1.12.6 {
                    779:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 9.87991e+143
                    780: } {abc: 1 1 (9.87991e+143) :xyz}
                    781: do_test printf-2.1.12.8 {
                    782:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 9.87991e+143
                    783: } {abc: 1 1 (9.9e+143) :xyz}
                    784: do_test printf-2.1.12.9 {
                    785:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 9.87991e+143
                    786: } {abc: 1 1 (1e+144) :xyz}
                    787: do_test printf-2.1.13.1 {
                    788:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -6.287291e-9
                    789: } {abc: (-0.0) :xyz}
                    790: do_test printf-2.1.13.2 {
                    791:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -6.287291e-9
                    792: } {abc: (-6.3e-09) :xyz}
                    793: do_test printf-2.1.13.3 {
                    794:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -6.287291e-9
                    795: } {abc: (-6e-09) :xyz}
                    796: do_test printf-2.1.13.4 {
                    797:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -6.287291e-9
                    798: } {abc: 1 1 (-6.28729e-09) :xyz}
                    799: do_test printf-2.1.13.5 {
                    800:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -6.287291e-9
                    801: } {abc: 1 1 (-6.28729e-09) :xyz}
                    802: do_test printf-2.1.13.6 {
                    803:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -6.287291e-9
                    804: } {abc: 1 1 (-6.28729e-09) :xyz}
                    805: do_test printf-2.1.13.7 {
                    806:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -6.287291e-9
                    807: } {abc: 1 1 (-0.0) :xyz}
                    808: do_test printf-2.1.13.8 {
                    809:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -6.287291e-9
                    810: } {abc: 1 1 (-6.3e-09) :xyz}
                    811: do_test printf-2.1.13.9 {
                    812:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -6.287291e-9
                    813: } {abc: 1 1 (-6e-09) :xyz}
                    814: do_test printf-2.1.14.1 {
                    815:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 3.38826392e-110
                    816: } {abc: (0.0) :xyz}
                    817: do_test printf-2.1.14.2 {
                    818:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 3.38826392e-110
                    819: } {abc: (3.4e-110) :xyz}
                    820: do_test printf-2.1.14.3 {
                    821:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 3.38826392e-110
                    822: } {abc: (3e-110) :xyz}
                    823: do_test printf-2.1.14.4 {
                    824:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 3.38826392e-110
                    825: } {abc: 1 1 (3.38826e-110) :xyz}
                    826: do_test printf-2.1.14.5 {
                    827:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 3.38826392e-110
                    828: } {abc: 1 1 (3.38826e-110) :xyz}
                    829: do_test printf-2.1.14.6 {
                    830:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 3.38826392e-110
                    831: } {abc: 1 1 (3.38826e-110) :xyz}
                    832: do_test printf-2.1.14.7 {
                    833:   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 3.38826392e-110
                    834: } {abc: 1 1 (0.0) :xyz}
                    835: do_test printf-2.1.14.8 {
                    836:   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 3.38826392e-110
                    837: } {abc: 1 1 (3.4e-110) :xyz}
                    838: do_test printf-2.1.14.9 {
                    839:   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 3.38826392e-110
                    840: } {abc: 1 1 (3e-110) :xyz}
                    841: do_test printf-2.2.1.1 {
                    842:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 0.001
                    843: } {abc: (0.00100) :xyz}
                    844: do_test printf-2.2.1.2 {
                    845:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 0.001
                    846: } {abc: (1.00000e-03) :xyz}
                    847: do_test printf-2.2.1.3 {
                    848:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 0.001
                    849: } {abc: (0.001) :xyz}
                    850: do_test printf-2.2.1.4 {
                    851:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 0.001
                    852: } {abc: 5 5 (0.001) :xyz}
                    853: do_test printf-2.2.1.5 {
                    854:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 0.001
                    855: } {abc: 5 5 (0.00100000) :xyz}
                    856: do_test printf-2.2.1.6 {
                    857:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 0.001
                    858: } {abc: 5 5 (000000.001) :xyz}
                    859: do_test printf-2.2.1.7 {
                    860:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 0.001
                    861: } {abc: 5 5 (0.00100) :xyz}
                    862: do_test printf-2.2.1.8 {
                    863:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 0.001
                    864: } {abc: 5 5 (1.00000e-03) :xyz}
                    865: do_test printf-2.2.1.9 {
                    866:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 0.001
                    867: } {abc: 5 5 (0.001) :xyz}
                    868: do_test printf-2.2.2.1 {
                    869:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 1.0e-20
                    870: } {abc: (0.00000) :xyz}
                    871: do_test printf-2.2.2.2 {
                    872:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 1.0e-20
                    873: } {abc: (1.00000e-20) :xyz}
                    874: do_test printf-2.2.2.3 {
                    875:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 1.0e-20
                    876: } {abc: (1e-20) :xyz}
                    877: do_test printf-2.2.2.4 {
                    878:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 1.0e-20
                    879: } {abc: 5 5 (1e-20) :xyz}
                    880: do_test printf-2.2.2.5 {
                    881:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 1.0e-20
                    882: } {abc: 5 5 (1.00000e-20) :xyz}
                    883: do_test printf-2.2.2.6 {
                    884:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 1.0e-20
                    885: } {abc: 5 5 (000001e-20) :xyz}
                    886: do_test printf-2.2.2.7 {
                    887:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 1.0e-20
                    888: } {abc: 5 5 (0.00000) :xyz}
                    889: do_test printf-2.2.2.8 {
                    890:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 1.0e-20
                    891: } {abc: 5 5 (1.00000e-20) :xyz}
                    892: do_test printf-2.2.2.9 {
                    893:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 1.0e-20
                    894: } {abc: 5 5 (1e-20) :xyz}
                    895: do_test printf-2.2.3.1 {
                    896:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 1.0
                    897: } {abc: (1.00000) :xyz}
                    898: do_test printf-2.2.3.2 {
                    899:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 1.0
                    900: } {abc: (1.00000e+00) :xyz}
                    901: do_test printf-2.2.3.3 {
                    902:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 1.0
                    903: } {abc: (    1) :xyz}
                    904: do_test printf-2.2.3.4 {
                    905:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 1.0
                    906: } {abc: 5 5 (1) :xyz}
                    907: do_test printf-2.2.3.5 {
                    908:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 1.0
                    909: } {abc: 5 5 (1.00000) :xyz}
                    910: do_test printf-2.2.3.6 {
                    911:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 1.0
                    912: } {abc: 5 5 (0000000001) :xyz}
                    913: do_test printf-2.2.3.7 {
                    914:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 1.0
                    915: } {abc: 5 5 (1.00000) :xyz}
                    916: do_test printf-2.2.3.8 {
                    917:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 1.0
                    918: } {abc: 5 5 (1.00000e+00) :xyz}
                    919: do_test printf-2.2.3.9 {
                    920:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 1.0
                    921: } {abc: 5 5 (    1) :xyz}
                    922: do_test printf-2.2.4.1 {
                    923:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 0.0
                    924: } {abc: (0.00000) :xyz}
                    925: do_test printf-2.2.4.2 {
                    926:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 0.0
                    927: } {abc: (0.00000e+00) :xyz}
                    928: do_test printf-2.2.4.3 {
                    929:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 0.0
                    930: } {abc: (    0) :xyz}
                    931: do_test printf-2.2.4.4 {
                    932:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 0.0
                    933: } {abc: 5 5 (0) :xyz}
                    934: do_test printf-2.2.4.5 {
                    935:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 0.0
                    936: } {abc: 5 5 (0.00000) :xyz}
                    937: do_test printf-2.2.4.6 {
                    938:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 0.0
                    939: } {abc: 5 5 (0000000000) :xyz}
                    940: do_test printf-2.2.4.7 {
                    941:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 0.0
                    942: } {abc: 5 5 (0.00000) :xyz}
                    943: do_test printf-2.2.4.8 {
                    944:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 0.0
                    945: } {abc: 5 5 (0.00000e+00) :xyz}
                    946: do_test printf-2.2.4.9 {
                    947:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 0.0
                    948: } {abc: 5 5 (    0) :xyz}
                    949: do_test printf-2.2.5.1 {
                    950:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 100.0
                    951: } {abc: (100.00000) :xyz}
                    952: do_test printf-2.2.5.2 {
                    953:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 100.0
                    954: } {abc: (1.00000e+02) :xyz}
                    955: do_test printf-2.2.5.3 {
                    956:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 100.0
                    957: } {abc: (  100) :xyz}
                    958: do_test printf-2.2.5.4 {
                    959:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 100.0
                    960: } {abc: 5 5 (100) :xyz}
                    961: do_test printf-2.2.5.5 {
                    962:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 100.0
                    963: } {abc: 5 5 (100.000) :xyz}
                    964: do_test printf-2.2.5.6 {
                    965:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 100.0
                    966: } {abc: 5 5 (0000000100) :xyz}
                    967: do_test printf-2.2.5.7 {
                    968:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 100.0
                    969: } {abc: 5 5 (100.00000) :xyz}
                    970: do_test printf-2.2.5.8 {
                    971:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 100.0
                    972: } {abc: 5 5 (1.00000e+02) :xyz}
                    973: do_test printf-2.2.5.9 {
                    974:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 100.0
                    975: } {abc: 5 5 (  100) :xyz}
                    976: do_test printf-2.2.6.1 {
                    977:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 9.99999
                    978: } {abc: (9.99999) :xyz}
                    979: do_test printf-2.2.6.2 {
                    980:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 9.99999
                    981: } {abc: (9.99999e+00) :xyz}
                    982: do_test printf-2.2.6.3 {
                    983:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 9.99999
                    984: } {abc: (   10) :xyz}
                    985: do_test printf-2.2.6.4 {
                    986:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 9.99999
                    987: } {abc: 5 5 (9.99999) :xyz}
                    988: do_test printf-2.2.6.5 {
                    989:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 9.99999
                    990: } {abc: 5 5 (9.99999) :xyz}
                    991: do_test printf-2.2.6.6 {
                    992:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 9.99999
                    993: } {abc: 5 5 (0009.99999) :xyz}
                    994: do_test printf-2.2.6.7 {
                    995:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 9.99999
                    996: } {abc: 5 5 (9.99999) :xyz}
                    997: do_test printf-2.2.6.8 {
                    998:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 9.99999
                    999: } {abc: 5 5 (9.99999e+00) :xyz}
                   1000: do_test printf-2.2.6.9 {
                   1001:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 9.99999
                   1002: } {abc: 5 5 (   10) :xyz}
                   1003: do_test printf-2.2.7.1 {
                   1004:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -0.00543
                   1005: } {abc: (-0.00543) :xyz}
                   1006: do_test printf-2.2.7.2 {
                   1007:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -0.00543
                   1008: } {abc: (-5.43000e-03) :xyz}
                   1009: do_test printf-2.2.7.3 {
                   1010:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -0.00543
                   1011: } {abc: (-0.00543) :xyz}
                   1012: do_test printf-2.2.7.4 {
                   1013:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -0.00543
                   1014: } {abc: 5 5 (-0.00543) :xyz}
                   1015: do_test printf-2.2.7.5 {
                   1016:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -0.00543
                   1017: } {abc: 5 5 (-0.00543000) :xyz}
                   1018: do_test printf-2.2.7.6 {
                   1019:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -0.00543
                   1020: } {abc: 5 5 (-000.00543) :xyz}
                   1021: do_test printf-2.2.7.7 {
                   1022:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -0.00543
                   1023: } {abc: 5 5 (-0.00543) :xyz}
                   1024: do_test printf-2.2.7.8 {
                   1025:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -0.00543
                   1026: } {abc: 5 5 (-5.43000e-03) :xyz}
                   1027: do_test printf-2.2.7.9 {
                   1028:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -0.00543
                   1029: } {abc: 5 5 (-0.00543) :xyz}
                   1030: do_test printf-2.2.8.1 {
                   1031:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -1.0
                   1032: } {abc: (-1.00000) :xyz}
                   1033: do_test printf-2.2.8.2 {
                   1034:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -1.0
                   1035: } {abc: (-1.00000e+00) :xyz}
                   1036: do_test printf-2.2.8.3 {
                   1037:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -1.0
                   1038: } {abc: (   -1) :xyz}
                   1039: do_test printf-2.2.8.4 {
                   1040:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -1.0
                   1041: } {abc: 5 5 (-1) :xyz}
                   1042: do_test printf-2.2.8.5 {
                   1043:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -1.0
                   1044: } {abc: 5 5 (-1.00000) :xyz}
                   1045: do_test printf-2.2.8.6 {
                   1046:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -1.0
                   1047: } {abc: 5 5 (-000000001) :xyz}
                   1048: do_test printf-2.2.8.7 {
                   1049:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -1.0
                   1050: } {abc: 5 5 (-1.00000) :xyz}
                   1051: do_test printf-2.2.8.8 {
                   1052:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -1.0
                   1053: } {abc: 5 5 (-1.00000e+00) :xyz}
                   1054: do_test printf-2.2.8.9 {
                   1055:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -1.0
                   1056: } {abc: 5 5 (   -1) :xyz}
                   1057: do_test printf-2.2.9.1 {
                   1058:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -99.99999
                   1059: } {abc: (-99.99999) :xyz}
                   1060: do_test printf-2.2.9.2 {
                   1061:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -99.99999
                   1062: } {abc: (-1.00000e+02) :xyz}
                   1063: do_test printf-2.2.9.3 {
                   1064:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -99.99999
                   1065: } {abc: ( -100) :xyz}
                   1066: do_test printf-2.2.9.4 {
                   1067:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -99.99999
                   1068: } {abc: 5 5 (-100) :xyz}
                   1069: do_test printf-2.2.9.5 {
                   1070:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -99.99999
                   1071: } {abc: 5 5 (-100.000) :xyz}
                   1072: do_test printf-2.2.9.6 {
                   1073:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -99.99999
                   1074: } {abc: 5 5 (-000000100) :xyz}
                   1075: do_test printf-2.2.9.7 {
                   1076:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -99.99999
                   1077: } {abc: 5 5 (-99.99999) :xyz}
                   1078: do_test printf-2.2.9.8 {
                   1079:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -99.99999
                   1080: } {abc: 5 5 (-1.00000e+02) :xyz}
                   1081: do_test printf-2.2.9.9 {
                   1082:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -99.99999
                   1083: } {abc: 5 5 ( -100) :xyz}
                   1084: do_test printf-2.2.10.1 {
                   1085:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 3.14e+9
                   1086: } {abc: (3140000000.00000) :xyz}
                   1087: do_test printf-2.2.10.2 {
                   1088:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 3.14e+9
                   1089: } {abc: (3.14000e+09) :xyz}
                   1090: do_test printf-2.2.10.3 {
                   1091:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 3.14e+9
                   1092: } {abc: (3.14e+09) :xyz}
                   1093: do_test printf-2.2.10.4 {
                   1094:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 3.14e+9
                   1095: } {abc: 5 5 (3.14e+09) :xyz}
                   1096: do_test printf-2.2.10.5 {
                   1097:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 3.14e+9
                   1098: } {abc: 5 5 (3.14000e+09) :xyz}
                   1099: do_test printf-2.2.10.6 {
                   1100:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 3.14e+9
                   1101: } {abc: 5 5 (003.14e+09) :xyz}
                   1102: do_test printf-2.2.10.7 {
                   1103:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 3.14e+9
                   1104: } {abc: 5 5 (3140000000.00000) :xyz}
                   1105: do_test printf-2.2.10.8 {
                   1106:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 3.14e+9
                   1107: } {abc: 5 5 (3.14000e+09) :xyz}
                   1108: do_test printf-2.2.10.9 {
                   1109:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 3.14e+9
                   1110: } {abc: 5 5 (3.14e+09) :xyz}
                   1111: do_test printf-2.2.11.2 {
                   1112:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -4.72732e+88
                   1113: } {abc: (-4.72732e+88) :xyz}
                   1114: do_test printf-2.2.11.3 {
                   1115:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -4.72732e+88
                   1116: } {abc: (-4.7273e+88) :xyz}
                   1117: do_test printf-2.2.11.4 {
                   1118:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -4.72732e+88
                   1119: } {abc: 5 5 (-4.72732e+88) :xyz}
                   1120: do_test printf-2.2.11.5 {
                   1121:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -4.72732e+88
                   1122: } {abc: 5 5 (-4.72732e+88) :xyz}
                   1123: do_test printf-2.2.11.6 {
                   1124:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -4.72732e+88
                   1125: } {abc: 5 5 (-4.72732e+88) :xyz}
                   1126: do_test printf-2.2.11.8 {
                   1127:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -4.72732e+88
                   1128: } {abc: 5 5 (-4.72732e+88) :xyz}
                   1129: do_test printf-2.2.11.9 {
                   1130:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -4.72732e+88
                   1131: } {abc: 5 5 (-4.7273e+88) :xyz}
                   1132: do_test printf-2.2.12.2 {
                   1133:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 9.87991e+143
                   1134: } {abc: (9.87991e+143) :xyz}
                   1135: do_test printf-2.2.12.3 {
                   1136:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 9.87991e+143
                   1137: } {abc: (9.8799e+143) :xyz}
                   1138: do_test printf-2.2.12.4 {
                   1139:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 9.87991e+143
                   1140: } {abc: 5 5 (9.87991e+143) :xyz}
                   1141: do_test printf-2.2.12.5 {
                   1142:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 9.87991e+143
                   1143: } {abc: 5 5 (9.87991e+143) :xyz}
                   1144: do_test printf-2.2.12.6 {
                   1145:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 9.87991e+143
                   1146: } {abc: 5 5 (9.87991e+143) :xyz}
                   1147: do_test printf-2.2.12.8 {
                   1148:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 9.87991e+143
                   1149: } {abc: 5 5 (9.87991e+143) :xyz}
                   1150: do_test printf-2.2.12.9 {
                   1151:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 9.87991e+143
                   1152: } {abc: 5 5 (9.8799e+143) :xyz}
                   1153: do_test printf-2.2.13.1 {
                   1154:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -6.287291e-9
                   1155: } {abc: (-0.00000) :xyz}
                   1156: do_test printf-2.2.13.2 {
                   1157:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -6.287291e-9
                   1158: } {abc: (-6.28729e-09) :xyz}
                   1159: do_test printf-2.2.13.3 {
                   1160:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -6.287291e-9
                   1161: } {abc: (-6.2873e-09) :xyz}
                   1162: do_test printf-2.2.13.4 {
                   1163:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -6.287291e-9
                   1164: } {abc: 5 5 (-6.28729e-09) :xyz}
                   1165: do_test printf-2.2.13.5 {
                   1166:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -6.287291e-9
                   1167: } {abc: 5 5 (-6.28729e-09) :xyz}
                   1168: do_test printf-2.2.13.6 {
                   1169:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -6.287291e-9
                   1170: } {abc: 5 5 (-6.28729e-09) :xyz}
                   1171: do_test printf-2.2.13.7 {
                   1172:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -6.287291e-9
                   1173: } {abc: 5 5 (-0.00000) :xyz}
                   1174: do_test printf-2.2.13.8 {
                   1175:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -6.287291e-9
                   1176: } {abc: 5 5 (-6.28729e-09) :xyz}
                   1177: do_test printf-2.2.13.9 {
                   1178:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -6.287291e-9
                   1179: } {abc: 5 5 (-6.2873e-09) :xyz}
                   1180: do_test printf-2.2.14.1 {
                   1181:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 3.38826392e-110
                   1182: } {abc: (0.00000) :xyz}
                   1183: do_test printf-2.2.14.2 {
                   1184:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 3.38826392e-110
                   1185: } {abc: (3.38826e-110) :xyz}
                   1186: do_test printf-2.2.14.3 {
                   1187:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 3.38826392e-110
                   1188: } {abc: (3.3883e-110) :xyz}
                   1189: do_test printf-2.2.14.4 {
                   1190:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 3.38826392e-110
                   1191: } {abc: 5 5 (3.38826e-110) :xyz}
                   1192: do_test printf-2.2.14.5 {
                   1193:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 3.38826392e-110
                   1194: } {abc: 5 5 (3.38826e-110) :xyz}
                   1195: do_test printf-2.2.14.6 {
                   1196:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 3.38826392e-110
                   1197: } {abc: 5 5 (3.38826e-110) :xyz}
                   1198: do_test printf-2.2.14.7 {
                   1199:   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 3.38826392e-110
                   1200: } {abc: 5 5 (0.00000) :xyz}
                   1201: do_test printf-2.2.14.8 {
                   1202:   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 3.38826392e-110
                   1203: } {abc: 5 5 (3.38826e-110) :xyz}
                   1204: do_test printf-2.2.14.9 {
                   1205:   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 3.38826392e-110
                   1206: } {abc: 5 5 (3.3883e-110) :xyz}
                   1207: do_test printf-2.3.1.1 {
                   1208:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 0.001
                   1209: } {abc: (0.0010000000) :xyz}
                   1210: do_test printf-2.3.1.2 {
                   1211:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 0.001
                   1212: } {abc: (1.0000000000e-03) :xyz}
                   1213: do_test printf-2.3.1.3 {
                   1214:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 0.001
                   1215: } {abc: (     0.001) :xyz}
                   1216: do_test printf-2.3.1.4 {
                   1217:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 0.001
                   1218: } {abc: 10 10 (0.001) :xyz}
                   1219: do_test printf-2.3.1.5 {
                   1220:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 0.001
                   1221: } {abc: 10 10 (0.00100000) :xyz}
                   1222: do_test printf-2.3.1.6 {
                   1223:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 0.001
                   1224: } {abc: 10 10 (000000.001) :xyz}
                   1225: do_test printf-2.3.1.7 {
                   1226:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 0.001
                   1227: } {abc: 10 10 (0.0010000000) :xyz}
                   1228: do_test printf-2.3.1.8 {
                   1229:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 0.001
                   1230: } {abc: 10 10 (1.0000000000e-03) :xyz}
                   1231: do_test printf-2.3.1.9 {
                   1232:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 0.001
                   1233: } {abc: 10 10 (     0.001) :xyz}
                   1234: do_test printf-2.3.2.1 {
                   1235:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 1.0e-20
                   1236: } {abc: (0.0000000000) :xyz}
                   1237: do_test printf-2.3.2.2 {
                   1238:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 1.0e-20
                   1239: } {abc: (1.0000000000e-20) :xyz}
                   1240: do_test printf-2.3.2.3 {
                   1241:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 1.0e-20
                   1242: } {abc: (     1e-20) :xyz}
                   1243: do_test printf-2.3.2.4 {
                   1244:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 1.0e-20
                   1245: } {abc: 10 10 (1e-20) :xyz}
                   1246: do_test printf-2.3.2.5 {
                   1247:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 1.0e-20
                   1248: } {abc: 10 10 (1.00000e-20) :xyz}
                   1249: do_test printf-2.3.2.6 {
                   1250:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 1.0e-20
                   1251: } {abc: 10 10 (000001e-20) :xyz}
                   1252: do_test printf-2.3.2.7 {
                   1253:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 1.0e-20
                   1254: } {abc: 10 10 (0.0000000000) :xyz}
                   1255: do_test printf-2.3.2.8 {
                   1256:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 1.0e-20
                   1257: } {abc: 10 10 (1.0000000000e-20) :xyz}
                   1258: do_test printf-2.3.2.9 {
                   1259:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 1.0e-20
                   1260: } {abc: 10 10 (     1e-20) :xyz}
                   1261: do_test printf-2.3.3.1 {
                   1262:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 1.0
                   1263: } {abc: (1.0000000000) :xyz}
                   1264: do_test printf-2.3.3.2 {
                   1265:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 1.0
                   1266: } {abc: (1.0000000000e+00) :xyz}
                   1267: do_test printf-2.3.3.3 {
                   1268:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 1.0
                   1269: } {abc: (         1) :xyz}
                   1270: do_test printf-2.3.3.4 {
                   1271:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 1.0
                   1272: } {abc: 10 10 (1) :xyz}
                   1273: do_test printf-2.3.3.5 {
                   1274:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 1.0
                   1275: } {abc: 10 10 (1.00000) :xyz}
                   1276: do_test printf-2.3.3.6 {
                   1277:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 1.0
                   1278: } {abc: 10 10 (0000000001) :xyz}
                   1279: do_test printf-2.3.3.7 {
                   1280:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 1.0
                   1281: } {abc: 10 10 (1.0000000000) :xyz}
                   1282: do_test printf-2.3.3.8 {
                   1283:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 1.0
                   1284: } {abc: 10 10 (1.0000000000e+00) :xyz}
                   1285: do_test printf-2.3.3.9 {
                   1286:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 1.0
                   1287: } {abc: 10 10 (         1) :xyz}
                   1288: do_test printf-2.3.4.1 {
                   1289:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 0.0
                   1290: } {abc: (0.0000000000) :xyz}
                   1291: do_test printf-2.3.4.2 {
                   1292:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 0.0
                   1293: } {abc: (0.0000000000e+00) :xyz}
                   1294: do_test printf-2.3.4.3 {
                   1295:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 0.0
                   1296: } {abc: (         0) :xyz}
                   1297: do_test printf-2.3.4.4 {
                   1298:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 0.0
                   1299: } {abc: 10 10 (0) :xyz}
                   1300: do_test printf-2.3.4.5 {
                   1301:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 0.0
                   1302: } {abc: 10 10 (0.00000) :xyz}
                   1303: do_test printf-2.3.4.6 {
                   1304:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 0.0
                   1305: } {abc: 10 10 (0000000000) :xyz}
                   1306: do_test printf-2.3.4.7 {
                   1307:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 0.0
                   1308: } {abc: 10 10 (0.0000000000) :xyz}
                   1309: do_test printf-2.3.4.8 {
                   1310:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 0.0
                   1311: } {abc: 10 10 (0.0000000000e+00) :xyz}
                   1312: do_test printf-2.3.4.9 {
                   1313:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 0.0
                   1314: } {abc: 10 10 (         0) :xyz}
                   1315: do_test printf-2.3.5.1 {
                   1316:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 100.0
                   1317: } {abc: (100.0000000000) :xyz}
                   1318: do_test printf-2.3.5.2 {
                   1319:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 100.0
                   1320: } {abc: (1.0000000000e+02) :xyz}
                   1321: do_test printf-2.3.5.3 {
                   1322:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 100.0
                   1323: } {abc: (       100) :xyz}
                   1324: do_test printf-2.3.5.4 {
                   1325:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 100.0
                   1326: } {abc: 10 10 (100) :xyz}
                   1327: do_test printf-2.3.5.5 {
                   1328:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 100.0
                   1329: } {abc: 10 10 (100.000) :xyz}
                   1330: do_test printf-2.3.5.6 {
                   1331:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 100.0
                   1332: } {abc: 10 10 (0000000100) :xyz}
                   1333: do_test printf-2.3.5.7 {
                   1334:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 100.0
                   1335: } {abc: 10 10 (100.0000000000) :xyz}
                   1336: do_test printf-2.3.5.8 {
                   1337:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 100.0
                   1338: } {abc: 10 10 (1.0000000000e+02) :xyz}
                   1339: do_test printf-2.3.5.9 {
                   1340:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 100.0
                   1341: } {abc: 10 10 (       100) :xyz}
                   1342: do_test printf-2.3.6.1 {
                   1343:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 9.99999
                   1344: } {abc: (9.9999900000) :xyz}
                   1345: do_test printf-2.3.6.2 {
                   1346:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 9.99999
                   1347: } {abc: (9.9999900000e+00) :xyz}
                   1348: do_test printf-2.3.6.3 {
                   1349:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 9.99999
                   1350: } {abc: (   9.99999) :xyz}
                   1351: do_test printf-2.3.6.4 {
                   1352:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 9.99999
                   1353: } {abc: 10 10 (9.99999) :xyz}
                   1354: do_test printf-2.3.6.5 {
                   1355:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 9.99999
                   1356: } {abc: 10 10 (9.99999) :xyz}
                   1357: do_test printf-2.3.6.6 {
                   1358:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 9.99999
                   1359: } {abc: 10 10 (0009.99999) :xyz}
                   1360: do_test printf-2.3.6.7 {
                   1361:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 9.99999
                   1362: } {abc: 10 10 (9.9999900000) :xyz}
                   1363: do_test printf-2.3.6.8 {
                   1364:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 9.99999
                   1365: } {abc: 10 10 (9.9999900000e+00) :xyz}
                   1366: do_test printf-2.3.6.9 {
                   1367:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 9.99999
                   1368: } {abc: 10 10 (   9.99999) :xyz}
                   1369: do_test printf-2.3.7.1 {
                   1370:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -0.00543
                   1371: } {abc: (-0.0054300000) :xyz}
                   1372: do_test printf-2.3.7.2 {
                   1373:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -0.00543
                   1374: } {abc: (-5.4300000000e-03) :xyz}
                   1375: do_test printf-2.3.7.3 {
                   1376:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -0.00543
                   1377: } {abc: (  -0.00543) :xyz}
                   1378: do_test printf-2.3.7.4 {
                   1379:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -0.00543
                   1380: } {abc: 10 10 (-0.00543) :xyz}
                   1381: do_test printf-2.3.7.5 {
                   1382:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -0.00543
                   1383: } {abc: 10 10 (-0.00543000) :xyz}
                   1384: do_test printf-2.3.7.6 {
                   1385:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -0.00543
                   1386: } {abc: 10 10 (-000.00543) :xyz}
                   1387: do_test printf-2.3.7.7 {
                   1388:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -0.00543
                   1389: } {abc: 10 10 (-0.0054300000) :xyz}
                   1390: do_test printf-2.3.7.8 {
                   1391:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -0.00543
                   1392: } {abc: 10 10 (-5.4300000000e-03) :xyz}
                   1393: do_test printf-2.3.7.9 {
                   1394:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -0.00543
                   1395: } {abc: 10 10 (  -0.00543) :xyz}
                   1396: do_test printf-2.3.8.1 {
                   1397:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -1.0
                   1398: } {abc: (-1.0000000000) :xyz}
                   1399: do_test printf-2.3.8.2 {
                   1400:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -1.0
                   1401: } {abc: (-1.0000000000e+00) :xyz}
                   1402: do_test printf-2.3.8.3 {
                   1403:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -1.0
                   1404: } {abc: (        -1) :xyz}
                   1405: do_test printf-2.3.8.4 {
                   1406:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -1.0
                   1407: } {abc: 10 10 (-1) :xyz}
                   1408: do_test printf-2.3.8.5 {
                   1409:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -1.0
                   1410: } {abc: 10 10 (-1.00000) :xyz}
                   1411: do_test printf-2.3.8.6 {
                   1412:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -1.0
                   1413: } {abc: 10 10 (-000000001) :xyz}
                   1414: do_test printf-2.3.8.7 {
                   1415:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -1.0
                   1416: } {abc: 10 10 (-1.0000000000) :xyz}
                   1417: do_test printf-2.3.8.8 {
                   1418:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -1.0
                   1419: } {abc: 10 10 (-1.0000000000e+00) :xyz}
                   1420: do_test printf-2.3.8.9 {
                   1421:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -1.0
                   1422: } {abc: 10 10 (        -1) :xyz}
                   1423: do_test printf-2.3.9.1 {
                   1424:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -99.99999
                   1425: } {abc: (-99.9999900000) :xyz}
                   1426: do_test printf-2.3.9.2 {
                   1427:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -99.99999
                   1428: } {abc: (-9.9999990000e+01) :xyz}
                   1429: do_test printf-2.3.9.3 {
                   1430:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -99.99999
                   1431: } {abc: ( -99.99999) :xyz}
                   1432: do_test printf-2.3.9.4 {
                   1433:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -99.99999
                   1434: } {abc: 10 10 (-100) :xyz}
                   1435: do_test printf-2.3.9.5 {
                   1436:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -99.99999
                   1437: } {abc: 10 10 (-100.000) :xyz}
                   1438: do_test printf-2.3.9.6 {
                   1439:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -99.99999
                   1440: } {abc: 10 10 (-000000100) :xyz}
                   1441: do_test printf-2.3.9.7 {
                   1442:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -99.99999
                   1443: } {abc: 10 10 (-99.9999900000) :xyz}
                   1444: do_test printf-2.3.9.8 {
                   1445:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -99.99999
                   1446: } {abc: 10 10 (-9.9999990000e+01) :xyz}
                   1447: do_test printf-2.3.9.9 {
                   1448:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -99.99999
                   1449: } {abc: 10 10 ( -99.99999) :xyz}
                   1450: do_test printf-2.3.10.1 {
                   1451:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 3.14e+9
                   1452: } {abc: (3140000000.0000000000) :xyz}
                   1453: do_test printf-2.3.10.2 {
                   1454:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 3.14e+9
                   1455: } {abc: (3.1400000000e+09) :xyz}
                   1456: do_test printf-2.3.10.3 {
                   1457:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 3.14e+9
                   1458: } {abc: (3140000000) :xyz}
                   1459: do_test printf-2.3.10.4 {
                   1460:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 3.14e+9
                   1461: } {abc: 10 10 (3.14e+09) :xyz}
                   1462: do_test printf-2.3.10.5 {
                   1463:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 3.14e+9
                   1464: } {abc: 10 10 (3.14000e+09) :xyz}
                   1465: do_test printf-2.3.10.6 {
                   1466:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 3.14e+9
                   1467: } {abc: 10 10 (003.14e+09) :xyz}
                   1468: do_test printf-2.3.10.7 {
                   1469:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 3.14e+9
                   1470: } {abc: 10 10 (3140000000.0000000000) :xyz}
                   1471: do_test printf-2.3.10.8 {
                   1472:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 3.14e+9
                   1473: } {abc: 10 10 (3.1400000000e+09) :xyz}
                   1474: do_test printf-2.3.10.9 {
                   1475:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 3.14e+9
                   1476: } {abc: 10 10 (3140000000) :xyz}
                   1477: do_test printf-2.3.11.2 {
                   1478:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -4.72732e+88
                   1479: } {abc: (-4.7273200000e+88) :xyz}
                   1480: do_test printf-2.3.11.3 {
                   1481:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -4.72732e+88
                   1482: } {abc: (-4.72732e+88) :xyz}
                   1483: do_test printf-2.3.11.4 {
                   1484:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -4.72732e+88
                   1485: } {abc: 10 10 (-4.72732e+88) :xyz}
                   1486: do_test printf-2.3.11.5 {
                   1487:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -4.72732e+88
                   1488: } {abc: 10 10 (-4.72732e+88) :xyz}
                   1489: do_test printf-2.3.11.6 {
                   1490:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -4.72732e+88
                   1491: } {abc: 10 10 (-4.72732e+88) :xyz}
                   1492: do_test printf-2.3.11.8 {
                   1493:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -4.72732e+88
                   1494: } {abc: 10 10 (-4.7273200000e+88) :xyz}
                   1495: do_test printf-2.3.11.9 {
                   1496:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -4.72732e+88
                   1497: } {abc: 10 10 (-4.72732e+88) :xyz}
                   1498: do_test printf-2.3.12.2 {
                   1499:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 9.87991e+143
                   1500: } {abc: (9.8799100000e+143) :xyz}
                   1501: do_test printf-2.3.12.3 {
                   1502:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 9.87991e+143
                   1503: } {abc: (9.87991e+143) :xyz}
                   1504: do_test printf-2.3.12.4 {
                   1505:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 9.87991e+143
                   1506: } {abc: 10 10 (9.87991e+143) :xyz}
                   1507: do_test printf-2.3.12.5 {
                   1508:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 9.87991e+143
                   1509: } {abc: 10 10 (9.87991e+143) :xyz}
                   1510: do_test printf-2.3.12.6 {
                   1511:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 9.87991e+143
                   1512: } {abc: 10 10 (9.87991e+143) :xyz}
                   1513: do_test printf-2.3.12.8 {
                   1514:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 9.87991e+143
                   1515: } {abc: 10 10 (9.8799100000e+143) :xyz}
                   1516: do_test printf-2.3.12.9 {
                   1517:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 9.87991e+143
                   1518: } {abc: 10 10 (9.87991e+143) :xyz}
                   1519: do_test printf-2.3.13.1 {
                   1520:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -6.287291e-9
                   1521: } {abc: (-0.0000000063) :xyz}
                   1522: do_test printf-2.3.13.2 {
                   1523:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -6.287291e-9
                   1524: } {abc: (-6.2872910000e-09) :xyz}
                   1525: do_test printf-2.3.13.3 {
                   1526:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -6.287291e-9
                   1527: } {abc: (-6.287291e-09) :xyz}
                   1528: do_test printf-2.3.13.4 {
                   1529:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -6.287291e-9
                   1530: } {abc: 10 10 (-6.28729e-09) :xyz}
                   1531: do_test printf-2.3.13.5 {
                   1532:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -6.287291e-9
                   1533: } {abc: 10 10 (-6.28729e-09) :xyz}
                   1534: do_test printf-2.3.13.6 {
                   1535:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -6.287291e-9
                   1536: } {abc: 10 10 (-6.28729e-09) :xyz}
                   1537: do_test printf-2.3.13.7 {
                   1538:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -6.287291e-9
                   1539: } {abc: 10 10 (-0.0000000063) :xyz}
                   1540: do_test printf-2.3.13.8 {
                   1541:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -6.287291e-9
                   1542: } {abc: 10 10 (-6.2872910000e-09) :xyz}
                   1543: do_test printf-2.3.13.9 {
                   1544:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -6.287291e-9
                   1545: } {abc: 10 10 (-6.287291e-09) :xyz}
                   1546: do_test printf-2.3.14.1 {
                   1547:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 3.38826392e-110
                   1548: } {abc: (0.0000000000) :xyz}
                   1549: do_test printf-2.3.14.2 {
                   1550:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 3.38826392e-110
                   1551: } {abc: (3.3882639200e-110) :xyz}
                   1552: do_test printf-2.3.14.3 {
                   1553:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 3.38826392e-110
                   1554: } {abc: (3.38826392e-110) :xyz}
                   1555: do_test printf-2.3.14.4 {
                   1556:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 3.38826392e-110
                   1557: } {abc: 10 10 (3.38826e-110) :xyz}
                   1558: do_test printf-2.3.14.5 {
                   1559:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 3.38826392e-110
                   1560: } {abc: 10 10 (3.38826e-110) :xyz}
                   1561: do_test printf-2.3.14.6 {
                   1562:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 3.38826392e-110
                   1563: } {abc: 10 10 (3.38826e-110) :xyz}
                   1564: do_test printf-2.3.14.7 {
                   1565:   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 3.38826392e-110
                   1566: } {abc: 10 10 (0.0000000000) :xyz}
                   1567: do_test printf-2.3.14.8 {
                   1568:   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 3.38826392e-110
                   1569: } {abc: 10 10 (3.3882639200e-110) :xyz}
                   1570: do_test printf-2.3.14.9 {
                   1571:   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 3.38826392e-110
                   1572: } {abc: 10 10 (3.38826392e-110) :xyz}
                   1573: do_test printf-2.4.1.1 {
                   1574:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 0.001
                   1575: } {abc: (   0.00100) :xyz}
                   1576: do_test printf-2.4.1.2 {
                   1577:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 0.001
                   1578: } {abc: (1.00000e-03) :xyz}
                   1579: do_test printf-2.4.1.3 {
                   1580:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 0.001
                   1581: } {abc: (     0.001) :xyz}
                   1582: do_test printf-2.4.1.4 {
                   1583:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 0.001
                   1584: } {abc: 10 5 (0.001) :xyz}
                   1585: do_test printf-2.4.1.5 {
                   1586:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 0.001
                   1587: } {abc: 10 5 (0.00100000) :xyz}
                   1588: do_test printf-2.4.1.6 {
                   1589:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 0.001
                   1590: } {abc: 10 5 (000000.001) :xyz}
                   1591: do_test printf-2.4.1.7 {
                   1592:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 0.001
                   1593: } {abc: 10 5 (   0.00100) :xyz}
                   1594: do_test printf-2.4.1.8 {
                   1595:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 0.001
                   1596: } {abc: 10 5 (1.00000e-03) :xyz}
                   1597: do_test printf-2.4.1.9 {
                   1598:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 0.001
                   1599: } {abc: 10 5 (     0.001) :xyz}
                   1600: do_test printf-2.4.2.1 {
                   1601:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 1.0e-20
                   1602: } {abc: (   0.00000) :xyz}
                   1603: do_test printf-2.4.2.2 {
                   1604:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 1.0e-20
                   1605: } {abc: (1.00000e-20) :xyz}
                   1606: do_test printf-2.4.2.3 {
                   1607:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 1.0e-20
                   1608: } {abc: (     1e-20) :xyz}
                   1609: do_test printf-2.4.2.4 {
                   1610:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 1.0e-20
                   1611: } {abc: 10 5 (1e-20) :xyz}
                   1612: do_test printf-2.4.2.5 {
                   1613:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 1.0e-20
                   1614: } {abc: 10 5 (1.00000e-20) :xyz}
                   1615: do_test printf-2.4.2.6 {
                   1616:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 1.0e-20
                   1617: } {abc: 10 5 (000001e-20) :xyz}
                   1618: do_test printf-2.4.2.7 {
                   1619:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 1.0e-20
                   1620: } {abc: 10 5 (   0.00000) :xyz}
                   1621: do_test printf-2.4.2.8 {
                   1622:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 1.0e-20
                   1623: } {abc: 10 5 (1.00000e-20) :xyz}
                   1624: do_test printf-2.4.2.9 {
                   1625:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 1.0e-20
                   1626: } {abc: 10 5 (     1e-20) :xyz}
                   1627: do_test printf-2.4.3.1 {
                   1628:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 1.0
                   1629: } {abc: (   1.00000) :xyz}
                   1630: do_test printf-2.4.3.2 {
                   1631:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 1.0
                   1632: } {abc: (1.00000e+00) :xyz}
                   1633: do_test printf-2.4.3.3 {
                   1634:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 1.0
                   1635: } {abc: (         1) :xyz}
                   1636: do_test printf-2.4.3.4 {
                   1637:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 1.0
                   1638: } {abc: 10 5 (1) :xyz}
                   1639: do_test printf-2.4.3.5 {
                   1640:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 1.0
                   1641: } {abc: 10 5 (1.00000) :xyz}
                   1642: do_test printf-2.4.3.6 {
                   1643:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 1.0
                   1644: } {abc: 10 5 (0000000001) :xyz}
                   1645: do_test printf-2.4.3.7 {
                   1646:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 1.0
                   1647: } {abc: 10 5 (   1.00000) :xyz}
                   1648: do_test printf-2.4.3.8 {
                   1649:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 1.0
                   1650: } {abc: 10 5 (1.00000e+00) :xyz}
                   1651: do_test printf-2.4.3.9 {
                   1652:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 1.0
                   1653: } {abc: 10 5 (         1) :xyz}
                   1654: do_test printf-2.4.4.1 {
                   1655:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 0.0
                   1656: } {abc: (   0.00000) :xyz}
                   1657: do_test printf-2.4.4.2 {
                   1658:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 0.0
                   1659: } {abc: (0.00000e+00) :xyz}
                   1660: do_test printf-2.4.4.3 {
                   1661:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 0.0
                   1662: } {abc: (         0) :xyz}
                   1663: do_test printf-2.4.4.4 {
                   1664:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 0.0
                   1665: } {abc: 10 5 (0) :xyz}
                   1666: do_test printf-2.4.4.5 {
                   1667:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 0.0
                   1668: } {abc: 10 5 (0.00000) :xyz}
                   1669: do_test printf-2.4.4.6 {
                   1670:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 0.0
                   1671: } {abc: 10 5 (0000000000) :xyz}
                   1672: do_test printf-2.4.4.7 {
                   1673:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 0.0
                   1674: } {abc: 10 5 (   0.00000) :xyz}
                   1675: do_test printf-2.4.4.8 {
                   1676:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 0.0
                   1677: } {abc: 10 5 (0.00000e+00) :xyz}
                   1678: do_test printf-2.4.4.9 {
                   1679:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 0.0
                   1680: } {abc: 10 5 (         0) :xyz}
                   1681: do_test printf-2.4.5.1 {
                   1682:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 100.0
                   1683: } {abc: ( 100.00000) :xyz}
                   1684: do_test printf-2.4.5.2 {
                   1685:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 100.0
                   1686: } {abc: (1.00000e+02) :xyz}
                   1687: do_test printf-2.4.5.3 {
                   1688:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 100.0
                   1689: } {abc: (       100) :xyz}
                   1690: do_test printf-2.4.5.4 {
                   1691:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 100.0
                   1692: } {abc: 10 5 (100) :xyz}
                   1693: do_test printf-2.4.5.5 {
                   1694:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 100.0
                   1695: } {abc: 10 5 (100.000) :xyz}
                   1696: do_test printf-2.4.5.6 {
                   1697:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 100.0
                   1698: } {abc: 10 5 (0000000100) :xyz}
                   1699: do_test printf-2.4.5.7 {
                   1700:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 100.0
                   1701: } {abc: 10 5 ( 100.00000) :xyz}
                   1702: do_test printf-2.4.5.8 {
                   1703:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 100.0
                   1704: } {abc: 10 5 (1.00000e+02) :xyz}
                   1705: do_test printf-2.4.5.9 {
                   1706:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 100.0
                   1707: } {abc: 10 5 (       100) :xyz}
                   1708: do_test printf-2.4.6.1 {
                   1709:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 9.99999
                   1710: } {abc: (   9.99999) :xyz}
                   1711: do_test printf-2.4.6.2 {
                   1712:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 9.99999
                   1713: } {abc: (9.99999e+00) :xyz}
                   1714: do_test printf-2.4.6.3 {
                   1715:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 9.99999
                   1716: } {abc: (        10) :xyz}
                   1717: do_test printf-2.4.6.4 {
                   1718:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 9.99999
                   1719: } {abc: 10 5 (9.99999) :xyz}
                   1720: do_test printf-2.4.6.5 {
                   1721:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 9.99999
                   1722: } {abc: 10 5 (9.99999) :xyz}
                   1723: do_test printf-2.4.6.6 {
                   1724:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 9.99999
                   1725: } {abc: 10 5 (0009.99999) :xyz}
                   1726: do_test printf-2.4.6.7 {
                   1727:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 9.99999
                   1728: } {abc: 10 5 (   9.99999) :xyz}
                   1729: do_test printf-2.4.6.8 {
                   1730:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 9.99999
                   1731: } {abc: 10 5 (9.99999e+00) :xyz}
                   1732: do_test printf-2.4.6.9 {
                   1733:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 9.99999
                   1734: } {abc: 10 5 (        10) :xyz}
                   1735: do_test printf-2.4.7.1 {
                   1736:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -0.00543
                   1737: } {abc: (  -0.00543) :xyz}
                   1738: do_test printf-2.4.7.2 {
                   1739:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -0.00543
                   1740: } {abc: (-5.43000e-03) :xyz}
                   1741: do_test printf-2.4.7.3 {
                   1742:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -0.00543
                   1743: } {abc: (  -0.00543) :xyz}
                   1744: do_test printf-2.4.7.4 {
                   1745:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -0.00543
                   1746: } {abc: 10 5 (-0.00543) :xyz}
                   1747: do_test printf-2.4.7.5 {
                   1748:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -0.00543
                   1749: } {abc: 10 5 (-0.00543000) :xyz}
                   1750: do_test printf-2.4.7.6 {
                   1751:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -0.00543
                   1752: } {abc: 10 5 (-000.00543) :xyz}
                   1753: do_test printf-2.4.7.7 {
                   1754:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -0.00543
                   1755: } {abc: 10 5 (  -0.00543) :xyz}
                   1756: do_test printf-2.4.7.8 {
                   1757:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -0.00543
                   1758: } {abc: 10 5 (-5.43000e-03) :xyz}
                   1759: do_test printf-2.4.7.9 {
                   1760:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -0.00543
                   1761: } {abc: 10 5 (  -0.00543) :xyz}
                   1762: do_test printf-2.4.8.1 {
                   1763:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -1.0
                   1764: } {abc: (  -1.00000) :xyz}
                   1765: do_test printf-2.4.8.2 {
                   1766:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -1.0
                   1767: } {abc: (-1.00000e+00) :xyz}
                   1768: do_test printf-2.4.8.3 {
                   1769:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -1.0
                   1770: } {abc: (        -1) :xyz}
                   1771: do_test printf-2.4.8.4 {
                   1772:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -1.0
                   1773: } {abc: 10 5 (-1) :xyz}
                   1774: do_test printf-2.4.8.5 {
                   1775:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -1.0
                   1776: } {abc: 10 5 (-1.00000) :xyz}
                   1777: do_test printf-2.4.8.6 {
                   1778:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -1.0
                   1779: } {abc: 10 5 (-000000001) :xyz}
                   1780: do_test printf-2.4.8.7 {
                   1781:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -1.0
                   1782: } {abc: 10 5 (  -1.00000) :xyz}
                   1783: do_test printf-2.4.8.8 {
                   1784:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -1.0
                   1785: } {abc: 10 5 (-1.00000e+00) :xyz}
                   1786: do_test printf-2.4.8.9 {
                   1787:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -1.0
                   1788: } {abc: 10 5 (        -1) :xyz}
                   1789: do_test printf-2.4.9.1 {
                   1790:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -99.99999
                   1791: } {abc: ( -99.99999) :xyz}
                   1792: do_test printf-2.4.9.2 {
                   1793:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -99.99999
                   1794: } {abc: (-1.00000e+02) :xyz}
                   1795: do_test printf-2.4.9.3 {
                   1796:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -99.99999
                   1797: } {abc: (      -100) :xyz}
                   1798: do_test printf-2.4.9.4 {
                   1799:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -99.99999
                   1800: } {abc: 10 5 (-100) :xyz}
                   1801: do_test printf-2.4.9.5 {
                   1802:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -99.99999
                   1803: } {abc: 10 5 (-100.000) :xyz}
                   1804: do_test printf-2.4.9.6 {
                   1805:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -99.99999
                   1806: } {abc: 10 5 (-000000100) :xyz}
                   1807: do_test printf-2.4.9.7 {
                   1808:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -99.99999
                   1809: } {abc: 10 5 ( -99.99999) :xyz}
                   1810: do_test printf-2.4.9.8 {
                   1811:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -99.99999
                   1812: } {abc: 10 5 (-1.00000e+02) :xyz}
                   1813: do_test printf-2.4.9.9 {
                   1814:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -99.99999
                   1815: } {abc: 10 5 (      -100) :xyz}
                   1816: do_test printf-2.4.10.1 {
                   1817:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 3.14e+9
                   1818: } {abc: (3140000000.00000) :xyz}
                   1819: do_test printf-2.4.10.2 {
                   1820:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 3.14e+9
                   1821: } {abc: (3.14000e+09) :xyz}
                   1822: do_test printf-2.4.10.3 {
                   1823:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 3.14e+9
                   1824: } {abc: (  3.14e+09) :xyz}
                   1825: do_test printf-2.4.10.4 {
                   1826:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 3.14e+9
                   1827: } {abc: 10 5 (3.14e+09) :xyz}
                   1828: do_test printf-2.4.10.5 {
                   1829:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 3.14e+9
                   1830: } {abc: 10 5 (3.14000e+09) :xyz}
                   1831: do_test printf-2.4.10.6 {
                   1832:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 3.14e+9
                   1833: } {abc: 10 5 (003.14e+09) :xyz}
                   1834: do_test printf-2.4.10.7 {
                   1835:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 3.14e+9
                   1836: } {abc: 10 5 (3140000000.00000) :xyz}
                   1837: do_test printf-2.4.10.8 {
                   1838:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 3.14e+9
                   1839: } {abc: 10 5 (3.14000e+09) :xyz}
                   1840: do_test printf-2.4.10.9 {
                   1841:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 3.14e+9
                   1842: } {abc: 10 5 (  3.14e+09) :xyz}
                   1843: do_test printf-2.4.11.2 {
                   1844:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -4.72732e+88
                   1845: } {abc: (-4.72732e+88) :xyz}
                   1846: do_test printf-2.4.11.3 {
                   1847:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -4.72732e+88
                   1848: } {abc: (-4.7273e+88) :xyz}
                   1849: do_test printf-2.4.11.4 {
                   1850:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -4.72732e+88
                   1851: } {abc: 10 5 (-4.72732e+88) :xyz}
                   1852: do_test printf-2.4.11.5 {
                   1853:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -4.72732e+88
                   1854: } {abc: 10 5 (-4.72732e+88) :xyz}
                   1855: do_test printf-2.4.11.6 {
                   1856:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -4.72732e+88
                   1857: } {abc: 10 5 (-4.72732e+88) :xyz}
                   1858: do_test printf-2.4.11.8 {
                   1859:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -4.72732e+88
                   1860: } {abc: 10 5 (-4.72732e+88) :xyz}
                   1861: do_test printf-2.4.11.9 {
                   1862:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -4.72732e+88
                   1863: } {abc: 10 5 (-4.7273e+88) :xyz}
                   1864: do_test printf-2.4.12.2 {
                   1865:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 9.87991e+143
                   1866: } {abc: (9.87991e+143) :xyz}
                   1867: do_test printf-2.4.12.3 {
                   1868:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 9.87991e+143
                   1869: } {abc: (9.8799e+143) :xyz}
                   1870: do_test printf-2.4.12.4 {
                   1871:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 9.87991e+143
                   1872: } {abc: 10 5 (9.87991e+143) :xyz}
                   1873: do_test printf-2.4.12.5 {
                   1874:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 9.87991e+143
                   1875: } {abc: 10 5 (9.87991e+143) :xyz}
                   1876: do_test printf-2.4.12.6 {
                   1877:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 9.87991e+143
                   1878: } {abc: 10 5 (9.87991e+143) :xyz}
                   1879: do_test printf-2.4.12.8 {
                   1880:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 9.87991e+143
                   1881: } {abc: 10 5 (9.87991e+143) :xyz}
                   1882: do_test printf-2.4.12.9 {
                   1883:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 9.87991e+143
                   1884: } {abc: 10 5 (9.8799e+143) :xyz}
                   1885: do_test printf-2.4.13.1 {
                   1886:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -6.287291e-9
                   1887: } {abc: (  -0.00000) :xyz}
                   1888: do_test printf-2.4.13.2 {
                   1889:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -6.287291e-9
                   1890: } {abc: (-6.28729e-09) :xyz}
                   1891: do_test printf-2.4.13.3 {
                   1892:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -6.287291e-9
                   1893: } {abc: (-6.2873e-09) :xyz}
                   1894: do_test printf-2.4.13.4 {
                   1895:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -6.287291e-9
                   1896: } {abc: 10 5 (-6.28729e-09) :xyz}
                   1897: do_test printf-2.4.13.5 {
                   1898:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -6.287291e-9
                   1899: } {abc: 10 5 (-6.28729e-09) :xyz}
                   1900: do_test printf-2.4.13.6 {
                   1901:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -6.287291e-9
                   1902: } {abc: 10 5 (-6.28729e-09) :xyz}
                   1903: do_test printf-2.4.13.7 {
                   1904:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -6.287291e-9
                   1905: } {abc: 10 5 (  -0.00000) :xyz}
                   1906: do_test printf-2.4.13.8 {
                   1907:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -6.287291e-9
                   1908: } {abc: 10 5 (-6.28729e-09) :xyz}
                   1909: do_test printf-2.4.13.9 {
                   1910:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -6.287291e-9
                   1911: } {abc: 10 5 (-6.2873e-09) :xyz}
                   1912: do_test printf-2.4.14.1 {
                   1913:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 3.38826392e-110
                   1914: } {abc: (   0.00000) :xyz}
                   1915: do_test printf-2.4.14.2 {
                   1916:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 3.38826392e-110
                   1917: } {abc: (3.38826e-110) :xyz}
                   1918: do_test printf-2.4.14.3 {
                   1919:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 3.38826392e-110
                   1920: } {abc: (3.3883e-110) :xyz}
                   1921: do_test printf-2.4.14.4 {
                   1922:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 3.38826392e-110
                   1923: } {abc: 10 5 (3.38826e-110) :xyz}
                   1924: do_test printf-2.4.14.5 {
                   1925:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 3.38826392e-110
                   1926: } {abc: 10 5 (3.38826e-110) :xyz}
                   1927: do_test printf-2.4.14.6 {
                   1928:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 3.38826392e-110
                   1929: } {abc: 10 5 (3.38826e-110) :xyz}
                   1930: do_test printf-2.4.14.7 {
                   1931:   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 3.38826392e-110
                   1932: } {abc: 10 5 (   0.00000) :xyz}
                   1933: do_test printf-2.4.14.8 {
                   1934:   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 3.38826392e-110
                   1935: } {abc: 10 5 (3.38826e-110) :xyz}
                   1936: do_test printf-2.4.14.9 {
                   1937:   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 3.38826392e-110
                   1938: } {abc: 10 5 (3.3883e-110) :xyz}
                   1939: do_test printf-2.5.1.1 {
                   1940:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 0.001
                   1941: } {abc: (0.00) :xyz}
                   1942: do_test printf-2.5.1.2 {
                   1943:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 0.001
                   1944: } {abc: (1.00e-03) :xyz}
                   1945: do_test printf-2.5.1.3 {
                   1946:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 0.001
                   1947: } {abc: (0.001) :xyz}
                   1948: do_test printf-2.5.1.4 {
                   1949:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 0.001
                   1950: } {abc: 2 2 (0.001) :xyz}
                   1951: do_test printf-2.5.1.5 {
                   1952:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 0.001
                   1953: } {abc: 2 2 (0.00100000) :xyz}
                   1954: do_test printf-2.5.1.6 {
                   1955:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 0.001
                   1956: } {abc: 2 2 (000000.001) :xyz}
                   1957: do_test printf-2.5.1.7 {
                   1958:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 0.001
                   1959: } {abc: 2 2 (0.00) :xyz}
                   1960: do_test printf-2.5.1.8 {
                   1961:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 0.001
                   1962: } {abc: 2 2 (1.00e-03) :xyz}
                   1963: do_test printf-2.5.1.9 {
                   1964:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 0.001
                   1965: } {abc: 2 2 (0.001) :xyz}
                   1966: do_test printf-2.5.2.1 {
                   1967:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 1.0e-20
                   1968: } {abc: (0.00) :xyz}
                   1969: do_test printf-2.5.2.2 {
                   1970:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 1.0e-20
                   1971: } {abc: (1.00e-20) :xyz}
                   1972: do_test printf-2.5.2.3 {
                   1973:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 1.0e-20
                   1974: } {abc: (1e-20) :xyz}
                   1975: do_test printf-2.5.2.4 {
                   1976:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 1.0e-20
                   1977: } {abc: 2 2 (1e-20) :xyz}
                   1978: do_test printf-2.5.2.5 {
                   1979:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 1.0e-20
                   1980: } {abc: 2 2 (1.00000e-20) :xyz}
                   1981: do_test printf-2.5.2.6 {
                   1982:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 1.0e-20
                   1983: } {abc: 2 2 (000001e-20) :xyz}
                   1984: do_test printf-2.5.2.7 {
                   1985:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 1.0e-20
                   1986: } {abc: 2 2 (0.00) :xyz}
                   1987: do_test printf-2.5.2.8 {
                   1988:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 1.0e-20
                   1989: } {abc: 2 2 (1.00e-20) :xyz}
                   1990: do_test printf-2.5.2.9 {
                   1991:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 1.0e-20
                   1992: } {abc: 2 2 (1e-20) :xyz}
                   1993: do_test printf-2.5.3.1 {
                   1994:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 1.0
                   1995: } {abc: (1.00) :xyz}
                   1996: do_test printf-2.5.3.2 {
                   1997:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 1.0
                   1998: } {abc: (1.00e+00) :xyz}
                   1999: do_test printf-2.5.3.3 {
                   2000:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 1.0
                   2001: } {abc: ( 1) :xyz}
                   2002: do_test printf-2.5.3.4 {
                   2003:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 1.0
                   2004: } {abc: 2 2 (1) :xyz}
                   2005: do_test printf-2.5.3.5 {
                   2006:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 1.0
                   2007: } {abc: 2 2 (1.00000) :xyz}
                   2008: do_test printf-2.5.3.6 {
                   2009:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 1.0
                   2010: } {abc: 2 2 (0000000001) :xyz}
                   2011: do_test printf-2.5.3.7 {
                   2012:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 1.0
                   2013: } {abc: 2 2 (1.00) :xyz}
                   2014: do_test printf-2.5.3.8 {
                   2015:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 1.0
                   2016: } {abc: 2 2 (1.00e+00) :xyz}
                   2017: do_test printf-2.5.3.9 {
                   2018:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 1.0
                   2019: } {abc: 2 2 ( 1) :xyz}
                   2020: do_test printf-2.5.4.1 {
                   2021:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 0.0
                   2022: } {abc: (0.00) :xyz}
                   2023: do_test printf-2.5.4.2 {
                   2024:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 0.0
                   2025: } {abc: (0.00e+00) :xyz}
                   2026: do_test printf-2.5.4.3 {
                   2027:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 0.0
                   2028: } {abc: ( 0) :xyz}
                   2029: do_test printf-2.5.4.4 {
                   2030:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 0.0
                   2031: } {abc: 2 2 (0) :xyz}
                   2032: do_test printf-2.5.4.5 {
                   2033:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 0.0
                   2034: } {abc: 2 2 (0.00000) :xyz}
                   2035: do_test printf-2.5.4.6 {
                   2036:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 0.0
                   2037: } {abc: 2 2 (0000000000) :xyz}
                   2038: do_test printf-2.5.4.7 {
                   2039:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 0.0
                   2040: } {abc: 2 2 (0.00) :xyz}
                   2041: do_test printf-2.5.4.8 {
                   2042:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 0.0
                   2043: } {abc: 2 2 (0.00e+00) :xyz}
                   2044: do_test printf-2.5.4.9 {
                   2045:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 0.0
                   2046: } {abc: 2 2 ( 0) :xyz}
                   2047: do_test printf-2.5.5.1 {
                   2048:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 100.0
                   2049: } {abc: (100.00) :xyz}
                   2050: do_test printf-2.5.5.2 {
                   2051:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 100.0
                   2052: } {abc: (1.00e+02) :xyz}
                   2053: do_test printf-2.5.5.3 {
                   2054:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 100.0
                   2055: } {abc: (1e+02) :xyz}
                   2056: do_test printf-2.5.5.4 {
                   2057:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 100.0
                   2058: } {abc: 2 2 (100) :xyz}
                   2059: do_test printf-2.5.5.5 {
                   2060:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 100.0
                   2061: } {abc: 2 2 (100.000) :xyz}
                   2062: do_test printf-2.5.5.6 {
                   2063:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 100.0
                   2064: } {abc: 2 2 (0000000100) :xyz}
                   2065: do_test printf-2.5.5.7 {
                   2066:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 100.0
                   2067: } {abc: 2 2 (100.00) :xyz}
                   2068: do_test printf-2.5.5.8 {
                   2069:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 100.0
                   2070: } {abc: 2 2 (1.00e+02) :xyz}
                   2071: do_test printf-2.5.5.9 {
                   2072:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 100.0
                   2073: } {abc: 2 2 (1e+02) :xyz}
                   2074: do_test printf-2.5.6.1 {
                   2075:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 9.99999
                   2076: } {abc: (10.00) :xyz}
                   2077: do_test printf-2.5.6.2 {
                   2078:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 9.99999
                   2079: } {abc: (1.00e+01) :xyz}
                   2080: do_test printf-2.5.6.3 {
                   2081:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 9.99999
                   2082: } {abc: (10) :xyz}
                   2083: do_test printf-2.5.6.4 {
                   2084:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 9.99999
                   2085: } {abc: 2 2 (9.99999) :xyz}
                   2086: do_test printf-2.5.6.5 {
                   2087:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 9.99999
                   2088: } {abc: 2 2 (9.99999) :xyz}
                   2089: do_test printf-2.5.6.6 {
                   2090:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 9.99999
                   2091: } {abc: 2 2 (0009.99999) :xyz}
                   2092: do_test printf-2.5.6.7 {
                   2093:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 9.99999
                   2094: } {abc: 2 2 (10.00) :xyz}
                   2095: do_test printf-2.5.6.8 {
                   2096:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 9.99999
                   2097: } {abc: 2 2 (1.00e+01) :xyz}
                   2098: do_test printf-2.5.6.9 {
                   2099:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 9.99999
                   2100: } {abc: 2 2 (10) :xyz}
                   2101: do_test printf-2.5.7.1 {
                   2102:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -0.00543
                   2103: } {abc: (-0.01) :xyz}
                   2104: do_test printf-2.5.7.2 {
                   2105:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -0.00543
                   2106: } {abc: (-5.43e-03) :xyz}
                   2107: do_test printf-2.5.7.3 {
                   2108:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -0.00543
                   2109: } {abc: (-0.0054) :xyz}
                   2110: do_test printf-2.5.7.4 {
                   2111:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -0.00543
                   2112: } {abc: 2 2 (-0.00543) :xyz}
                   2113: do_test printf-2.5.7.5 {
                   2114:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -0.00543
                   2115: } {abc: 2 2 (-0.00543000) :xyz}
                   2116: do_test printf-2.5.7.6 {
                   2117:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -0.00543
                   2118: } {abc: 2 2 (-000.00543) :xyz}
                   2119: do_test printf-2.5.7.7 {
                   2120:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -0.00543
                   2121: } {abc: 2 2 (-0.01) :xyz}
                   2122: do_test printf-2.5.7.8 {
                   2123:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -0.00543
                   2124: } {abc: 2 2 (-5.43e-03) :xyz}
                   2125: do_test printf-2.5.7.9 {
                   2126:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -0.00543
                   2127: } {abc: 2 2 (-0.0054) :xyz}
                   2128: do_test printf-2.5.8.1 {
                   2129:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -1.0
                   2130: } {abc: (-1.00) :xyz}
                   2131: do_test printf-2.5.8.2 {
                   2132:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -1.0
                   2133: } {abc: (-1.00e+00) :xyz}
                   2134: do_test printf-2.5.8.3 {
                   2135:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -1.0
                   2136: } {abc: (-1) :xyz}
                   2137: do_test printf-2.5.8.4 {
                   2138:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -1.0
                   2139: } {abc: 2 2 (-1) :xyz}
                   2140: do_test printf-2.5.8.5 {
                   2141:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -1.0
                   2142: } {abc: 2 2 (-1.00000) :xyz}
                   2143: do_test printf-2.5.8.6 {
                   2144:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -1.0
                   2145: } {abc: 2 2 (-000000001) :xyz}
                   2146: do_test printf-2.5.8.7 {
                   2147:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -1.0
                   2148: } {abc: 2 2 (-1.00) :xyz}
                   2149: do_test printf-2.5.8.8 {
                   2150:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -1.0
                   2151: } {abc: 2 2 (-1.00e+00) :xyz}
                   2152: do_test printf-2.5.8.9 {
                   2153:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -1.0
                   2154: } {abc: 2 2 (-1) :xyz}
                   2155: do_test printf-2.5.9.1 {
                   2156:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -99.99999
                   2157: } {abc: (-100.00) :xyz}
                   2158: do_test printf-2.5.9.2 {
                   2159:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -99.99999
                   2160: } {abc: (-1.00e+02) :xyz}
                   2161: do_test printf-2.5.9.3 {
                   2162:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -99.99999
                   2163: } {abc: (-1e+02) :xyz}
                   2164: do_test printf-2.5.9.4 {
                   2165:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -99.99999
                   2166: } {abc: 2 2 (-100) :xyz}
                   2167: do_test printf-2.5.9.5 {
                   2168:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -99.99999
                   2169: } {abc: 2 2 (-100.000) :xyz}
                   2170: do_test printf-2.5.9.6 {
                   2171:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -99.99999
                   2172: } {abc: 2 2 (-000000100) :xyz}
                   2173: do_test printf-2.5.9.7 {
                   2174:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -99.99999
                   2175: } {abc: 2 2 (-100.00) :xyz}
                   2176: do_test printf-2.5.9.8 {
                   2177:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -99.99999
                   2178: } {abc: 2 2 (-1.00e+02) :xyz}
                   2179: do_test printf-2.5.9.9 {
                   2180:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -99.99999
                   2181: } {abc: 2 2 (-1e+02) :xyz}
                   2182: do_test printf-2.5.10.1 {
                   2183:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 3.14e+9
                   2184: } {abc: (3140000000.00) :xyz}
                   2185: do_test printf-2.5.10.2 {
                   2186:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 3.14e+9
                   2187: } {abc: (3.14e+09) :xyz}
                   2188: do_test printf-2.5.10.3 {
                   2189:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 3.14e+9
                   2190: } {abc: (3.1e+09) :xyz}
                   2191: do_test printf-2.5.10.4 {
                   2192:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 3.14e+9
                   2193: } {abc: 2 2 (3.14e+09) :xyz}
                   2194: do_test printf-2.5.10.5 {
                   2195:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 3.14e+9
                   2196: } {abc: 2 2 (3.14000e+09) :xyz}
                   2197: do_test printf-2.5.10.6 {
                   2198:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 3.14e+9
                   2199: } {abc: 2 2 (003.14e+09) :xyz}
                   2200: do_test printf-2.5.10.7 {
                   2201:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 3.14e+9
                   2202: } {abc: 2 2 (3140000000.00) :xyz}
                   2203: do_test printf-2.5.10.8 {
                   2204:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 3.14e+9
                   2205: } {abc: 2 2 (3.14e+09) :xyz}
                   2206: do_test printf-2.5.10.9 {
                   2207:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 3.14e+9
                   2208: } {abc: 2 2 (3.1e+09) :xyz}
                   2209: do_test printf-2.5.11.2 {
                   2210:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -4.72732e+88
                   2211: } {abc: (-4.73e+88) :xyz}
                   2212: do_test printf-2.5.11.3 {
                   2213:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -4.72732e+88
                   2214: } {abc: (-4.7e+88) :xyz}
                   2215: do_test printf-2.5.11.4 {
                   2216:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -4.72732e+88
                   2217: } {abc: 2 2 (-4.72732e+88) :xyz}
                   2218: do_test printf-2.5.11.5 {
                   2219:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -4.72732e+88
                   2220: } {abc: 2 2 (-4.72732e+88) :xyz}
                   2221: do_test printf-2.5.11.6 {
                   2222:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -4.72732e+88
                   2223: } {abc: 2 2 (-4.72732e+88) :xyz}
                   2224: do_test printf-2.5.11.8 {
                   2225:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -4.72732e+88
                   2226: } {abc: 2 2 (-4.73e+88) :xyz}
                   2227: do_test printf-2.5.11.9 {
                   2228:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -4.72732e+88
                   2229: } {abc: 2 2 (-4.7e+88) :xyz}
                   2230: do_test printf-2.5.12.2 {
                   2231:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 9.87991e+143
                   2232: } {abc: (9.88e+143) :xyz}
                   2233: do_test printf-2.5.12.3 {
                   2234:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 9.87991e+143
                   2235: } {abc: (9.9e+143) :xyz}
                   2236: do_test printf-2.5.12.4 {
                   2237:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 9.87991e+143
                   2238: } {abc: 2 2 (9.87991e+143) :xyz}
                   2239: do_test printf-2.5.12.5 {
                   2240:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 9.87991e+143
                   2241: } {abc: 2 2 (9.87991e+143) :xyz}
                   2242: do_test printf-2.5.12.6 {
                   2243:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 9.87991e+143
                   2244: } {abc: 2 2 (9.87991e+143) :xyz}
                   2245: do_test printf-2.5.12.8 {
                   2246:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 9.87991e+143
                   2247: } {abc: 2 2 (9.88e+143) :xyz}
                   2248: do_test printf-2.5.12.9 {
                   2249:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 9.87991e+143
                   2250: } {abc: 2 2 (9.9e+143) :xyz}
                   2251: do_test printf-2.5.13.1 {
                   2252:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -6.287291e-9
                   2253: } {abc: (-0.00) :xyz}
                   2254: do_test printf-2.5.13.2 {
                   2255:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -6.287291e-9
                   2256: } {abc: (-6.29e-09) :xyz}
                   2257: do_test printf-2.5.13.3 {
                   2258:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -6.287291e-9
                   2259: } {abc: (-6.3e-09) :xyz}
                   2260: do_test printf-2.5.13.4 {
                   2261:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -6.287291e-9
                   2262: } {abc: 2 2 (-6.28729e-09) :xyz}
                   2263: do_test printf-2.5.13.5 {
                   2264:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -6.287291e-9
                   2265: } {abc: 2 2 (-6.28729e-09) :xyz}
                   2266: do_test printf-2.5.13.6 {
                   2267:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -6.287291e-9
                   2268: } {abc: 2 2 (-6.28729e-09) :xyz}
                   2269: do_test printf-2.5.13.7 {
                   2270:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -6.287291e-9
                   2271: } {abc: 2 2 (-0.00) :xyz}
                   2272: do_test printf-2.5.13.8 {
                   2273:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -6.287291e-9
                   2274: } {abc: 2 2 (-6.29e-09) :xyz}
                   2275: do_test printf-2.5.13.9 {
                   2276:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -6.287291e-9
                   2277: } {abc: 2 2 (-6.3e-09) :xyz}
                   2278: do_test printf-2.5.14.1 {
                   2279:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 3.38826392e-110
                   2280: } {abc: (0.00) :xyz}
                   2281: do_test printf-2.5.14.2 {
                   2282:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 3.38826392e-110
                   2283: } {abc: (3.39e-110) :xyz}
                   2284: do_test printf-2.5.14.3 {
                   2285:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 3.38826392e-110
                   2286: } {abc: (3.4e-110) :xyz}
                   2287: do_test printf-2.5.14.4 {
                   2288:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 3.38826392e-110
                   2289: } {abc: 2 2 (3.38826e-110) :xyz}
                   2290: do_test printf-2.5.14.5 {
                   2291:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 3.38826392e-110
                   2292: } {abc: 2 2 (3.38826e-110) :xyz}
                   2293: do_test printf-2.5.14.6 {
                   2294:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 3.38826392e-110
                   2295: } {abc: 2 2 (3.38826e-110) :xyz}
                   2296: do_test printf-2.5.14.7 {
                   2297:   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 3.38826392e-110
                   2298: } {abc: 2 2 (0.00) :xyz}
                   2299: do_test printf-2.5.14.8 {
                   2300:   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 3.38826392e-110
                   2301: } {abc: 2 2 (3.39e-110) :xyz}
                   2302: do_test printf-2.5.14.9 {
                   2303:   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 3.38826392e-110
                   2304: } {abc: 2 2 (3.4e-110) :xyz}
                   2305: do_test printf-2.6.1.1 {
                   2306:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 0.001
                   2307: } {abc: (0.001) :xyz}
                   2308: do_test printf-2.6.1.2 {
                   2309:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 0.001
                   2310: } {abc: (1.000e-03) :xyz}
                   2311: do_test printf-2.6.1.3 {
                   2312:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 0.001
                   2313: } {abc: (0.001) :xyz}
                   2314: do_test printf-2.6.1.4 {
                   2315:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 0.001
                   2316: } {abc: 2 3 (0.001) :xyz}
                   2317: do_test printf-2.6.1.5 {
                   2318:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 0.001
                   2319: } {abc: 2 3 (0.00100000) :xyz}
                   2320: do_test printf-2.6.1.6 {
                   2321:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 0.001
                   2322: } {abc: 2 3 (000000.001) :xyz}
                   2323: do_test printf-2.6.1.7 {
                   2324:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 0.001
                   2325: } {abc: 2 3 (0.001) :xyz}
                   2326: do_test printf-2.6.1.8 {
                   2327:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 0.001
                   2328: } {abc: 2 3 (1.000e-03) :xyz}
                   2329: do_test printf-2.6.1.9 {
                   2330:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 0.001
                   2331: } {abc: 2 3 (0.001) :xyz}
                   2332: do_test printf-2.6.2.1 {
                   2333:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 1.0e-20
                   2334: } {abc: (0.000) :xyz}
                   2335: do_test printf-2.6.2.2 {
                   2336:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 1.0e-20
                   2337: } {abc: (1.000e-20) :xyz}
                   2338: do_test printf-2.6.2.3 {
                   2339:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 1.0e-20
                   2340: } {abc: (1e-20) :xyz}
                   2341: do_test printf-2.6.2.4 {
                   2342:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 1.0e-20
                   2343: } {abc: 2 3 (1e-20) :xyz}
                   2344: do_test printf-2.6.2.5 {
                   2345:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 1.0e-20
                   2346: } {abc: 2 3 (1.00000e-20) :xyz}
                   2347: do_test printf-2.6.2.6 {
                   2348:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 1.0e-20
                   2349: } {abc: 2 3 (000001e-20) :xyz}
                   2350: do_test printf-2.6.2.7 {
                   2351:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 1.0e-20
                   2352: } {abc: 2 3 (0.000) :xyz}
                   2353: do_test printf-2.6.2.8 {
                   2354:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 1.0e-20
                   2355: } {abc: 2 3 (1.000e-20) :xyz}
                   2356: do_test printf-2.6.2.9 {
                   2357:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 1.0e-20
                   2358: } {abc: 2 3 (1e-20) :xyz}
                   2359: do_test printf-2.6.3.1 {
                   2360:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 1.0
                   2361: } {abc: (1.000) :xyz}
                   2362: do_test printf-2.6.3.2 {
                   2363:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 1.0
                   2364: } {abc: (1.000e+00) :xyz}
                   2365: do_test printf-2.6.3.3 {
                   2366:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 1.0
                   2367: } {abc: ( 1) :xyz}
                   2368: do_test printf-2.6.3.4 {
                   2369:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 1.0
                   2370: } {abc: 2 3 (1) :xyz}
                   2371: do_test printf-2.6.3.5 {
                   2372:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 1.0
                   2373: } {abc: 2 3 (1.00000) :xyz}
                   2374: do_test printf-2.6.3.6 {
                   2375:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 1.0
                   2376: } {abc: 2 3 (0000000001) :xyz}
                   2377: do_test printf-2.6.3.7 {
                   2378:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 1.0
                   2379: } {abc: 2 3 (1.000) :xyz}
                   2380: do_test printf-2.6.3.8 {
                   2381:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 1.0
                   2382: } {abc: 2 3 (1.000e+00) :xyz}
                   2383: do_test printf-2.6.3.9 {
                   2384:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 1.0
                   2385: } {abc: 2 3 ( 1) :xyz}
                   2386: do_test printf-2.6.4.1 {
                   2387:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 0.0
                   2388: } {abc: (0.000) :xyz}
                   2389: do_test printf-2.6.4.2 {
                   2390:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 0.0
                   2391: } {abc: (0.000e+00) :xyz}
                   2392: do_test printf-2.6.4.3 {
                   2393:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 0.0
                   2394: } {abc: ( 0) :xyz}
                   2395: do_test printf-2.6.4.4 {
                   2396:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 0.0
                   2397: } {abc: 2 3 (0) :xyz}
                   2398: do_test printf-2.6.4.5 {
                   2399:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 0.0
                   2400: } {abc: 2 3 (0.00000) :xyz}
                   2401: do_test printf-2.6.4.6 {
                   2402:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 0.0
                   2403: } {abc: 2 3 (0000000000) :xyz}
                   2404: do_test printf-2.6.4.7 {
                   2405:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 0.0
                   2406: } {abc: 2 3 (0.000) :xyz}
                   2407: do_test printf-2.6.4.8 {
                   2408:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 0.0
                   2409: } {abc: 2 3 (0.000e+00) :xyz}
                   2410: do_test printf-2.6.4.9 {
                   2411:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 0.0
                   2412: } {abc: 2 3 ( 0) :xyz}
                   2413: do_test printf-2.6.5.1 {
                   2414:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 100.0
                   2415: } {abc: (100.000) :xyz}
                   2416: do_test printf-2.6.5.2 {
                   2417:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 100.0
                   2418: } {abc: (1.000e+02) :xyz}
                   2419: do_test printf-2.6.5.3 {
                   2420:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 100.0
                   2421: } {abc: (100) :xyz}
                   2422: do_test printf-2.6.5.4 {
                   2423:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 100.0
                   2424: } {abc: 2 3 (100) :xyz}
                   2425: do_test printf-2.6.5.5 {
                   2426:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 100.0
                   2427: } {abc: 2 3 (100.000) :xyz}
                   2428: do_test printf-2.6.5.6 {
                   2429:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 100.0
                   2430: } {abc: 2 3 (0000000100) :xyz}
                   2431: do_test printf-2.6.5.7 {
                   2432:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 100.0
                   2433: } {abc: 2 3 (100.000) :xyz}
                   2434: do_test printf-2.6.5.8 {
                   2435:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 100.0
                   2436: } {abc: 2 3 (1.000e+02) :xyz}
                   2437: do_test printf-2.6.5.9 {
                   2438:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 100.0
                   2439: } {abc: 2 3 (100) :xyz}
                   2440: do_test printf-2.6.6.1 {
                   2441:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 9.99999
                   2442: } {abc: (10.000) :xyz}
                   2443: do_test printf-2.6.6.2 {
                   2444:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 9.99999
                   2445: } {abc: (1.000e+01) :xyz}
                   2446: do_test printf-2.6.6.3 {
                   2447:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 9.99999
                   2448: } {abc: (10) :xyz}
                   2449: do_test printf-2.6.6.4 {
                   2450:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 9.99999
                   2451: } {abc: 2 3 (9.99999) :xyz}
                   2452: do_test printf-2.6.6.5 {
                   2453:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 9.99999
                   2454: } {abc: 2 3 (9.99999) :xyz}
                   2455: do_test printf-2.6.6.6 {
                   2456:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 9.99999
                   2457: } {abc: 2 3 (0009.99999) :xyz}
                   2458: do_test printf-2.6.6.7 {
                   2459:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 9.99999
                   2460: } {abc: 2 3 (10.000) :xyz}
                   2461: do_test printf-2.6.6.8 {
                   2462:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 9.99999
                   2463: } {abc: 2 3 (1.000e+01) :xyz}
                   2464: do_test printf-2.6.6.9 {
                   2465:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 9.99999
                   2466: } {abc: 2 3 (10) :xyz}
                   2467: do_test printf-2.6.7.1 {
                   2468:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -0.00543
                   2469: } {abc: (-0.005) :xyz}
                   2470: do_test printf-2.6.7.2 {
                   2471:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -0.00543
                   2472: } {abc: (-5.430e-03) :xyz}
                   2473: do_test printf-2.6.7.3 {
                   2474:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -0.00543
                   2475: } {abc: (-0.00543) :xyz}
                   2476: do_test printf-2.6.7.4 {
                   2477:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -0.00543
                   2478: } {abc: 2 3 (-0.00543) :xyz}
                   2479: do_test printf-2.6.7.5 {
                   2480:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -0.00543
                   2481: } {abc: 2 3 (-0.00543000) :xyz}
                   2482: do_test printf-2.6.7.6 {
                   2483:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -0.00543
                   2484: } {abc: 2 3 (-000.00543) :xyz}
                   2485: do_test printf-2.6.7.7 {
                   2486:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -0.00543
                   2487: } {abc: 2 3 (-0.005) :xyz}
                   2488: do_test printf-2.6.7.8 {
                   2489:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -0.00543
                   2490: } {abc: 2 3 (-5.430e-03) :xyz}
                   2491: do_test printf-2.6.7.9 {
                   2492:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -0.00543
                   2493: } {abc: 2 3 (-0.00543) :xyz}
                   2494: do_test printf-2.6.8.1 {
                   2495:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -1.0
                   2496: } {abc: (-1.000) :xyz}
                   2497: do_test printf-2.6.8.2 {
                   2498:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -1.0
                   2499: } {abc: (-1.000e+00) :xyz}
                   2500: do_test printf-2.6.8.3 {
                   2501:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -1.0
                   2502: } {abc: (-1) :xyz}
                   2503: do_test printf-2.6.8.4 {
                   2504:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -1.0
                   2505: } {abc: 2 3 (-1) :xyz}
                   2506: do_test printf-2.6.8.5 {
                   2507:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -1.0
                   2508: } {abc: 2 3 (-1.00000) :xyz}
                   2509: do_test printf-2.6.8.6 {
                   2510:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -1.0
                   2511: } {abc: 2 3 (-000000001) :xyz}
                   2512: do_test printf-2.6.8.7 {
                   2513:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -1.0
                   2514: } {abc: 2 3 (-1.000) :xyz}
                   2515: do_test printf-2.6.8.8 {
                   2516:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -1.0
                   2517: } {abc: 2 3 (-1.000e+00) :xyz}
                   2518: do_test printf-2.6.8.9 {
                   2519:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -1.0
                   2520: } {abc: 2 3 (-1) :xyz}
                   2521: do_test printf-2.6.9.1 {
                   2522:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -99.99999
                   2523: } {abc: (-100.000) :xyz}
                   2524: do_test printf-2.6.9.2 {
                   2525:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -99.99999
                   2526: } {abc: (-1.000e+02) :xyz}
                   2527: do_test printf-2.6.9.3 {
                   2528:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -99.99999
                   2529: } {abc: (-100) :xyz}
                   2530: do_test printf-2.6.9.4 {
                   2531:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -99.99999
                   2532: } {abc: 2 3 (-100) :xyz}
                   2533: do_test printf-2.6.9.5 {
                   2534:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -99.99999
                   2535: } {abc: 2 3 (-100.000) :xyz}
                   2536: do_test printf-2.6.9.6 {
                   2537:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -99.99999
                   2538: } {abc: 2 3 (-000000100) :xyz}
                   2539: do_test printf-2.6.9.7 {
                   2540:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -99.99999
                   2541: } {abc: 2 3 (-100.000) :xyz}
                   2542: do_test printf-2.6.9.8 {
                   2543:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -99.99999
                   2544: } {abc: 2 3 (-1.000e+02) :xyz}
                   2545: do_test printf-2.6.9.9 {
                   2546:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -99.99999
                   2547: } {abc: 2 3 (-100) :xyz}
                   2548: do_test printf-2.6.10.1 {
                   2549:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 3.14e+9
                   2550: } {abc: (3140000000.000) :xyz}
                   2551: do_test printf-2.6.10.2 {
                   2552:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 3.14e+9
                   2553: } {abc: (3.140e+09) :xyz}
                   2554: do_test printf-2.6.10.3 {
                   2555:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 3.14e+9
                   2556: } {abc: (3.14e+09) :xyz}
                   2557: do_test printf-2.6.10.4 {
                   2558:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 3.14e+9
                   2559: } {abc: 2 3 (3.14e+09) :xyz}
                   2560: do_test printf-2.6.10.5 {
                   2561:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 3.14e+9
                   2562: } {abc: 2 3 (3.14000e+09) :xyz}
                   2563: do_test printf-2.6.10.6 {
                   2564:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 3.14e+9
                   2565: } {abc: 2 3 (003.14e+09) :xyz}
                   2566: do_test printf-2.6.10.7 {
                   2567:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 3.14e+9
                   2568: } {abc: 2 3 (3140000000.000) :xyz}
                   2569: do_test printf-2.6.10.8 {
                   2570:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 3.14e+9
                   2571: } {abc: 2 3 (3.140e+09) :xyz}
                   2572: do_test printf-2.6.10.9 {
                   2573:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 3.14e+9
                   2574: } {abc: 2 3 (3.14e+09) :xyz}
                   2575: do_test printf-2.6.11.2 {
                   2576:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -4.72732e+88
                   2577: } {abc: (-4.727e+88) :xyz}
                   2578: do_test printf-2.6.11.3 {
                   2579:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -4.72732e+88
                   2580: } {abc: (-4.73e+88) :xyz}
                   2581: do_test printf-2.6.11.4 {
                   2582:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -4.72732e+88
                   2583: } {abc: 2 3 (-4.72732e+88) :xyz}
                   2584: do_test printf-2.6.11.5 {
                   2585:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -4.72732e+88
                   2586: } {abc: 2 3 (-4.72732e+88) :xyz}
                   2587: do_test printf-2.6.11.6 {
                   2588:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -4.72732e+88
                   2589: } {abc: 2 3 (-4.72732e+88) :xyz}
                   2590: do_test printf-2.6.11.8 {
                   2591:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -4.72732e+88
                   2592: } {abc: 2 3 (-4.727e+88) :xyz}
                   2593: do_test printf-2.6.11.9 {
                   2594:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -4.72732e+88
                   2595: } {abc: 2 3 (-4.73e+88) :xyz}
                   2596: do_test printf-2.6.12.2 {
                   2597:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 9.87991e+143
                   2598: } {abc: (9.880e+143) :xyz}
                   2599: do_test printf-2.6.12.3 {
                   2600:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 9.87991e+143
                   2601: } {abc: (9.88e+143) :xyz}
                   2602: do_test printf-2.6.12.4 {
                   2603:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 9.87991e+143
                   2604: } {abc: 2 3 (9.87991e+143) :xyz}
                   2605: do_test printf-2.6.12.5 {
                   2606:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 9.87991e+143
                   2607: } {abc: 2 3 (9.87991e+143) :xyz}
                   2608: do_test printf-2.6.12.6 {
                   2609:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 9.87991e+143
                   2610: } {abc: 2 3 (9.87991e+143) :xyz}
                   2611: do_test printf-2.6.12.8 {
                   2612:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 9.87991e+143
                   2613: } {abc: 2 3 (9.880e+143) :xyz}
                   2614: do_test printf-2.6.12.9 {
                   2615:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 9.87991e+143
                   2616: } {abc: 2 3 (9.88e+143) :xyz}
                   2617: do_test printf-2.6.13.1 {
                   2618:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -6.287291e-9
                   2619: } {abc: (-0.000) :xyz}
                   2620: do_test printf-2.6.13.2 {
                   2621:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -6.287291e-9
                   2622: } {abc: (-6.287e-09) :xyz}
                   2623: do_test printf-2.6.13.3 {
                   2624:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -6.287291e-9
                   2625: } {abc: (-6.29e-09) :xyz}
                   2626: do_test printf-2.6.13.4 {
                   2627:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -6.287291e-9
                   2628: } {abc: 2 3 (-6.28729e-09) :xyz}
                   2629: do_test printf-2.6.13.5 {
                   2630:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -6.287291e-9
                   2631: } {abc: 2 3 (-6.28729e-09) :xyz}
                   2632: do_test printf-2.6.13.6 {
                   2633:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -6.287291e-9
                   2634: } {abc: 2 3 (-6.28729e-09) :xyz}
                   2635: do_test printf-2.6.13.7 {
                   2636:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -6.287291e-9
                   2637: } {abc: 2 3 (-0.000) :xyz}
                   2638: do_test printf-2.6.13.8 {
                   2639:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -6.287291e-9
                   2640: } {abc: 2 3 (-6.287e-09) :xyz}
                   2641: do_test printf-2.6.13.9 {
                   2642:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -6.287291e-9
                   2643: } {abc: 2 3 (-6.29e-09) :xyz}
                   2644: do_test printf-2.6.14.1 {
                   2645:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 3.38826392e-110
                   2646: } {abc: (0.000) :xyz}
                   2647: do_test printf-2.6.14.2 {
                   2648:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 3.38826392e-110
                   2649: } {abc: (3.388e-110) :xyz}
                   2650: do_test printf-2.6.14.3 {
                   2651:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 3.38826392e-110
                   2652: } {abc: (3.39e-110) :xyz}
                   2653: do_test printf-2.6.14.4 {
                   2654:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 3.38826392e-110
                   2655: } {abc: 2 3 (3.38826e-110) :xyz}
                   2656: do_test printf-2.6.14.5 {
                   2657:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 3.38826392e-110
                   2658: } {abc: 2 3 (3.38826e-110) :xyz}
                   2659: do_test printf-2.6.14.6 {
                   2660:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 3.38826392e-110
                   2661: } {abc: 2 3 (3.38826e-110) :xyz}
                   2662: do_test printf-2.6.14.7 {
                   2663:   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 3.38826392e-110
                   2664: } {abc: 2 3 (0.000) :xyz}
                   2665: do_test printf-2.6.14.8 {
                   2666:   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 3.38826392e-110
                   2667: } {abc: 2 3 (3.388e-110) :xyz}
                   2668: do_test printf-2.6.14.9 {
                   2669:   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 3.38826392e-110
                   2670: } {abc: 2 3 (3.39e-110) :xyz}
                   2671: do_test printf-2.7.1.1 {
                   2672:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 0.001
                   2673: } {abc: (0.001) :xyz}
                   2674: do_test printf-2.7.1.2 {
                   2675:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 0.001
                   2676: } {abc: (1.000e-03) :xyz}
                   2677: do_test printf-2.7.1.3 {
                   2678:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 0.001
                   2679: } {abc: (0.001) :xyz}
                   2680: do_test printf-2.7.1.4 {
                   2681:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 0.001
                   2682: } {abc: 3 3 (0.001) :xyz}
                   2683: do_test printf-2.7.1.5 {
                   2684:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 0.001
                   2685: } {abc: 3 3 (0.00100000) :xyz}
                   2686: do_test printf-2.7.1.6 {
                   2687:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 0.001
                   2688: } {abc: 3 3 (000000.001) :xyz}
                   2689: do_test printf-2.7.1.7 {
                   2690:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 0.001
                   2691: } {abc: 3 3 (0.001) :xyz}
                   2692: do_test printf-2.7.1.8 {
                   2693:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 0.001
                   2694: } {abc: 3 3 (1.000e-03) :xyz}
                   2695: do_test printf-2.7.1.9 {
                   2696:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 0.001
                   2697: } {abc: 3 3 (0.001) :xyz}
                   2698: do_test printf-2.7.2.1 {
                   2699:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 1.0e-20
                   2700: } {abc: (0.000) :xyz}
                   2701: do_test printf-2.7.2.2 {
                   2702:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 1.0e-20
                   2703: } {abc: (1.000e-20) :xyz}
                   2704: do_test printf-2.7.2.3 {
                   2705:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 1.0e-20
                   2706: } {abc: (1e-20) :xyz}
                   2707: do_test printf-2.7.2.4 {
                   2708:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 1.0e-20
                   2709: } {abc: 3 3 (1e-20) :xyz}
                   2710: do_test printf-2.7.2.5 {
                   2711:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 1.0e-20
                   2712: } {abc: 3 3 (1.00000e-20) :xyz}
                   2713: do_test printf-2.7.2.6 {
                   2714:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 1.0e-20
                   2715: } {abc: 3 3 (000001e-20) :xyz}
                   2716: do_test printf-2.7.2.7 {
                   2717:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 1.0e-20
                   2718: } {abc: 3 3 (0.000) :xyz}
                   2719: do_test printf-2.7.2.8 {
                   2720:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 1.0e-20
                   2721: } {abc: 3 3 (1.000e-20) :xyz}
                   2722: do_test printf-2.7.2.9 {
                   2723:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 1.0e-20
                   2724: } {abc: 3 3 (1e-20) :xyz}
                   2725: do_test printf-2.7.3.1 {
                   2726:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 1.0
                   2727: } {abc: (1.000) :xyz}
                   2728: do_test printf-2.7.3.2 {
                   2729:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 1.0
                   2730: } {abc: (1.000e+00) :xyz}
                   2731: do_test printf-2.7.3.3 {
                   2732:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 1.0
                   2733: } {abc: (  1) :xyz}
                   2734: do_test printf-2.7.3.4 {
                   2735:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 1.0
                   2736: } {abc: 3 3 (1) :xyz}
                   2737: do_test printf-2.7.3.5 {
                   2738:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 1.0
                   2739: } {abc: 3 3 (1.00000) :xyz}
                   2740: do_test printf-2.7.3.6 {
                   2741:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 1.0
                   2742: } {abc: 3 3 (0000000001) :xyz}
                   2743: do_test printf-2.7.3.7 {
                   2744:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 1.0
                   2745: } {abc: 3 3 (1.000) :xyz}
                   2746: do_test printf-2.7.3.8 {
                   2747:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 1.0
                   2748: } {abc: 3 3 (1.000e+00) :xyz}
                   2749: do_test printf-2.7.3.9 {
                   2750:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 1.0
                   2751: } {abc: 3 3 (  1) :xyz}
                   2752: do_test printf-2.7.4.1 {
                   2753:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 0.0
                   2754: } {abc: (0.000) :xyz}
                   2755: do_test printf-2.7.4.2 {
                   2756:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 0.0
                   2757: } {abc: (0.000e+00) :xyz}
                   2758: do_test printf-2.7.4.3 {
                   2759:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 0.0
                   2760: } {abc: (  0) :xyz}
                   2761: do_test printf-2.7.4.4 {
                   2762:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 0.0
                   2763: } {abc: 3 3 (0) :xyz}
                   2764: do_test printf-2.7.4.5 {
                   2765:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 0.0
                   2766: } {abc: 3 3 (0.00000) :xyz}
                   2767: do_test printf-2.7.4.6 {
                   2768:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 0.0
                   2769: } {abc: 3 3 (0000000000) :xyz}
                   2770: do_test printf-2.7.4.7 {
                   2771:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 0.0
                   2772: } {abc: 3 3 (0.000) :xyz}
                   2773: do_test printf-2.7.4.8 {
                   2774:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 0.0
                   2775: } {abc: 3 3 (0.000e+00) :xyz}
                   2776: do_test printf-2.7.4.9 {
                   2777:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 0.0
                   2778: } {abc: 3 3 (  0) :xyz}
                   2779: do_test printf-2.7.5.1 {
                   2780:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 100.0
                   2781: } {abc: (100.000) :xyz}
                   2782: do_test printf-2.7.5.2 {
                   2783:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 100.0
                   2784: } {abc: (1.000e+02) :xyz}
                   2785: do_test printf-2.7.5.3 {
                   2786:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 100.0
                   2787: } {abc: (100) :xyz}
                   2788: do_test printf-2.7.5.4 {
                   2789:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 100.0
                   2790: } {abc: 3 3 (100) :xyz}
                   2791: do_test printf-2.7.5.5 {
                   2792:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 100.0
                   2793: } {abc: 3 3 (100.000) :xyz}
                   2794: do_test printf-2.7.5.6 {
                   2795:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 100.0
                   2796: } {abc: 3 3 (0000000100) :xyz}
                   2797: do_test printf-2.7.5.7 {
                   2798:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 100.0
                   2799: } {abc: 3 3 (100.000) :xyz}
                   2800: do_test printf-2.7.5.8 {
                   2801:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 100.0
                   2802: } {abc: 3 3 (1.000e+02) :xyz}
                   2803: do_test printf-2.7.5.9 {
                   2804:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 100.0
                   2805: } {abc: 3 3 (100) :xyz}
                   2806: do_test printf-2.7.6.1 {
                   2807:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 9.99999
                   2808: } {abc: (10.000) :xyz}
                   2809: do_test printf-2.7.6.2 {
                   2810:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 9.99999
                   2811: } {abc: (1.000e+01) :xyz}
                   2812: do_test printf-2.7.6.3 {
                   2813:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 9.99999
                   2814: } {abc: ( 10) :xyz}
                   2815: do_test printf-2.7.6.4 {
                   2816:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 9.99999
                   2817: } {abc: 3 3 (9.99999) :xyz}
                   2818: do_test printf-2.7.6.5 {
                   2819:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 9.99999
                   2820: } {abc: 3 3 (9.99999) :xyz}
                   2821: do_test printf-2.7.6.6 {
                   2822:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 9.99999
                   2823: } {abc: 3 3 (0009.99999) :xyz}
                   2824: do_test printf-2.7.6.7 {
                   2825:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 9.99999
                   2826: } {abc: 3 3 (10.000) :xyz}
                   2827: do_test printf-2.7.6.8 {
                   2828:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 9.99999
                   2829: } {abc: 3 3 (1.000e+01) :xyz}
                   2830: do_test printf-2.7.6.9 {
                   2831:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 9.99999
                   2832: } {abc: 3 3 ( 10) :xyz}
                   2833: do_test printf-2.7.7.1 {
                   2834:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -0.00543
                   2835: } {abc: (-0.005) :xyz}
                   2836: do_test printf-2.7.7.2 {
                   2837:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -0.00543
                   2838: } {abc: (-5.430e-03) :xyz}
                   2839: do_test printf-2.7.7.3 {
                   2840:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -0.00543
                   2841: } {abc: (-0.00543) :xyz}
                   2842: do_test printf-2.7.7.4 {
                   2843:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -0.00543
                   2844: } {abc: 3 3 (-0.00543) :xyz}
                   2845: do_test printf-2.7.7.5 {
                   2846:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -0.00543
                   2847: } {abc: 3 3 (-0.00543000) :xyz}
                   2848: do_test printf-2.7.7.6 {
                   2849:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -0.00543
                   2850: } {abc: 3 3 (-000.00543) :xyz}
                   2851: do_test printf-2.7.7.7 {
                   2852:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -0.00543
                   2853: } {abc: 3 3 (-0.005) :xyz}
                   2854: do_test printf-2.7.7.8 {
                   2855:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -0.00543
                   2856: } {abc: 3 3 (-5.430e-03) :xyz}
                   2857: do_test printf-2.7.7.9 {
                   2858:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -0.00543
                   2859: } {abc: 3 3 (-0.00543) :xyz}
                   2860: do_test printf-2.7.8.1 {
                   2861:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -1.0
                   2862: } {abc: (-1.000) :xyz}
                   2863: do_test printf-2.7.8.2 {
                   2864:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -1.0
                   2865: } {abc: (-1.000e+00) :xyz}
                   2866: do_test printf-2.7.8.3 {
                   2867:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -1.0
                   2868: } {abc: ( -1) :xyz}
                   2869: do_test printf-2.7.8.4 {
                   2870:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -1.0
                   2871: } {abc: 3 3 (-1) :xyz}
                   2872: do_test printf-2.7.8.5 {
                   2873:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -1.0
                   2874: } {abc: 3 3 (-1.00000) :xyz}
                   2875: do_test printf-2.7.8.6 {
                   2876:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -1.0
                   2877: } {abc: 3 3 (-000000001) :xyz}
                   2878: do_test printf-2.7.8.7 {
                   2879:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -1.0
                   2880: } {abc: 3 3 (-1.000) :xyz}
                   2881: do_test printf-2.7.8.8 {
                   2882:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -1.0
                   2883: } {abc: 3 3 (-1.000e+00) :xyz}
                   2884: do_test printf-2.7.8.9 {
                   2885:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -1.0
                   2886: } {abc: 3 3 ( -1) :xyz}
                   2887: do_test printf-2.7.9.1 {
                   2888:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -99.99999
                   2889: } {abc: (-100.000) :xyz}
                   2890: do_test printf-2.7.9.2 {
                   2891:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -99.99999
                   2892: } {abc: (-1.000e+02) :xyz}
                   2893: do_test printf-2.7.9.3 {
                   2894:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -99.99999
                   2895: } {abc: (-100) :xyz}
                   2896: do_test printf-2.7.9.4 {
                   2897:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -99.99999
                   2898: } {abc: 3 3 (-100) :xyz}
                   2899: do_test printf-2.7.9.5 {
                   2900:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -99.99999
                   2901: } {abc: 3 3 (-100.000) :xyz}
                   2902: do_test printf-2.7.9.6 {
                   2903:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -99.99999
                   2904: } {abc: 3 3 (-000000100) :xyz}
                   2905: do_test printf-2.7.9.7 {
                   2906:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -99.99999
                   2907: } {abc: 3 3 (-100.000) :xyz}
                   2908: do_test printf-2.7.9.8 {
                   2909:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -99.99999
                   2910: } {abc: 3 3 (-1.000e+02) :xyz}
                   2911: do_test printf-2.7.9.9 {
                   2912:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -99.99999
                   2913: } {abc: 3 3 (-100) :xyz}
                   2914: do_test printf-2.7.10.1 {
                   2915:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 3.14e+9
                   2916: } {abc: (3140000000.000) :xyz}
                   2917: do_test printf-2.7.10.2 {
                   2918:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 3.14e+9
                   2919: } {abc: (3.140e+09) :xyz}
                   2920: do_test printf-2.7.10.3 {
                   2921:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 3.14e+9
                   2922: } {abc: (3.14e+09) :xyz}
                   2923: do_test printf-2.7.10.4 {
                   2924:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 3.14e+9
                   2925: } {abc: 3 3 (3.14e+09) :xyz}
                   2926: do_test printf-2.7.10.5 {
                   2927:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 3.14e+9
                   2928: } {abc: 3 3 (3.14000e+09) :xyz}
                   2929: do_test printf-2.7.10.6 {
                   2930:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 3.14e+9
                   2931: } {abc: 3 3 (003.14e+09) :xyz}
                   2932: do_test printf-2.7.10.7 {
                   2933:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 3.14e+9
                   2934: } {abc: 3 3 (3140000000.000) :xyz}
                   2935: do_test printf-2.7.10.8 {
                   2936:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 3.14e+9
                   2937: } {abc: 3 3 (3.140e+09) :xyz}
                   2938: do_test printf-2.7.10.9 {
                   2939:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 3.14e+9
                   2940: } {abc: 3 3 (3.14e+09) :xyz}
                   2941: do_test printf-2.7.11.2 {
                   2942:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -4.72732e+88
                   2943: } {abc: (-4.727e+88) :xyz}
                   2944: do_test printf-2.7.11.3 {
                   2945:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -4.72732e+88
                   2946: } {abc: (-4.73e+88) :xyz}
                   2947: do_test printf-2.7.11.4 {
                   2948:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -4.72732e+88
                   2949: } {abc: 3 3 (-4.72732e+88) :xyz}
                   2950: do_test printf-2.7.11.5 {
                   2951:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -4.72732e+88
                   2952: } {abc: 3 3 (-4.72732e+88) :xyz}
                   2953: do_test printf-2.7.11.6 {
                   2954:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -4.72732e+88
                   2955: } {abc: 3 3 (-4.72732e+88) :xyz}
                   2956: do_test printf-2.7.11.8 {
                   2957:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -4.72732e+88
                   2958: } {abc: 3 3 (-4.727e+88) :xyz}
                   2959: do_test printf-2.7.11.9 {
                   2960:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -4.72732e+88
                   2961: } {abc: 3 3 (-4.73e+88) :xyz}
                   2962: do_test printf-2.7.12.2 {
                   2963:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 9.87991e+143
                   2964: } {abc: (9.880e+143) :xyz}
                   2965: do_test printf-2.7.12.3 {
                   2966:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 9.87991e+143
                   2967: } {abc: (9.88e+143) :xyz}
                   2968: do_test printf-2.7.12.4 {
                   2969:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 9.87991e+143
                   2970: } {abc: 3 3 (9.87991e+143) :xyz}
                   2971: do_test printf-2.7.12.5 {
                   2972:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 9.87991e+143
                   2973: } {abc: 3 3 (9.87991e+143) :xyz}
                   2974: do_test printf-2.7.12.6 {
                   2975:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 9.87991e+143
                   2976: } {abc: 3 3 (9.87991e+143) :xyz}
                   2977: do_test printf-2.7.12.8 {
                   2978:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 9.87991e+143
                   2979: } {abc: 3 3 (9.880e+143) :xyz}
                   2980: do_test printf-2.7.12.9 {
                   2981:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 9.87991e+143
                   2982: } {abc: 3 3 (9.88e+143) :xyz}
                   2983: do_test printf-2.7.13.1 {
                   2984:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -6.287291e-9
                   2985: } {abc: (-0.000) :xyz}
                   2986: do_test printf-2.7.13.2 {
                   2987:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -6.287291e-9
                   2988: } {abc: (-6.287e-09) :xyz}
                   2989: do_test printf-2.7.13.3 {
                   2990:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -6.287291e-9
                   2991: } {abc: (-6.29e-09) :xyz}
                   2992: do_test printf-2.7.13.4 {
                   2993:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -6.287291e-9
                   2994: } {abc: 3 3 (-6.28729e-09) :xyz}
                   2995: do_test printf-2.7.13.5 {
                   2996:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -6.287291e-9
                   2997: } {abc: 3 3 (-6.28729e-09) :xyz}
                   2998: do_test printf-2.7.13.6 {
                   2999:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -6.287291e-9
                   3000: } {abc: 3 3 (-6.28729e-09) :xyz}
                   3001: do_test printf-2.7.13.7 {
                   3002:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -6.287291e-9
                   3003: } {abc: 3 3 (-0.000) :xyz}
                   3004: do_test printf-2.7.13.8 {
                   3005:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -6.287291e-9
                   3006: } {abc: 3 3 (-6.287e-09) :xyz}
                   3007: do_test printf-2.7.13.9 {
                   3008:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -6.287291e-9
                   3009: } {abc: 3 3 (-6.29e-09) :xyz}
                   3010: do_test printf-2.7.14.1 {
                   3011:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 3.38826392e-110
                   3012: } {abc: (0.000) :xyz}
                   3013: do_test printf-2.7.14.2 {
                   3014:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 3.38826392e-110
                   3015: } {abc: (3.388e-110) :xyz}
                   3016: do_test printf-2.7.14.3 {
                   3017:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 3.38826392e-110
                   3018: } {abc: (3.39e-110) :xyz}
                   3019: do_test printf-2.7.14.4 {
                   3020:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 3.38826392e-110
                   3021: } {abc: 3 3 (3.38826e-110) :xyz}
                   3022: do_test printf-2.7.14.5 {
                   3023:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 3.38826392e-110
                   3024: } {abc: 3 3 (3.38826e-110) :xyz}
                   3025: do_test printf-2.7.14.6 {
                   3026:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 3.38826392e-110
                   3027: } {abc: 3 3 (3.38826e-110) :xyz}
                   3028: do_test printf-2.7.14.7 {
                   3029:   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 3.38826392e-110
                   3030: } {abc: 3 3 (0.000) :xyz}
                   3031: do_test printf-2.7.14.8 {
                   3032:   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 3.38826392e-110
                   3033: } {abc: 3 3 (3.388e-110) :xyz}
                   3034: do_test printf-2.7.14.9 {
                   3035:   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 3.38826392e-110
                   3036: } {abc: 3 3 (3.39e-110) :xyz}
                   3037: do_test printf-2.8.1.1 {
                   3038:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 0.001
                   3039: } {abc: (0.00) :xyz}
                   3040: do_test printf-2.8.1.2 {
                   3041:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 0.001
                   3042: } {abc: (1.00e-03) :xyz}
                   3043: do_test printf-2.8.1.3 {
                   3044:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 0.001
                   3045: } {abc: (0.001) :xyz}
                   3046: do_test printf-2.8.1.4 {
                   3047:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 0.001
                   3048: } {abc: 3 2 (0.001) :xyz}
                   3049: do_test printf-2.8.1.5 {
                   3050:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 0.001
                   3051: } {abc: 3 2 (0.00100000) :xyz}
                   3052: do_test printf-2.8.1.6 {
                   3053:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 0.001
                   3054: } {abc: 3 2 (000000.001) :xyz}
                   3055: do_test printf-2.8.1.7 {
                   3056:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 0.001
                   3057: } {abc: 3 2 (0.00) :xyz}
                   3058: do_test printf-2.8.1.8 {
                   3059:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 0.001
                   3060: } {abc: 3 2 (1.00e-03) :xyz}
                   3061: do_test printf-2.8.1.9 {
                   3062:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 0.001
                   3063: } {abc: 3 2 (0.001) :xyz}
                   3064: do_test printf-2.8.2.1 {
                   3065:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 1.0e-20
                   3066: } {abc: (0.00) :xyz}
                   3067: do_test printf-2.8.2.2 {
                   3068:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 1.0e-20
                   3069: } {abc: (1.00e-20) :xyz}
                   3070: do_test printf-2.8.2.3 {
                   3071:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 1.0e-20
                   3072: } {abc: (1e-20) :xyz}
                   3073: do_test printf-2.8.2.4 {
                   3074:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 1.0e-20
                   3075: } {abc: 3 2 (1e-20) :xyz}
                   3076: do_test printf-2.8.2.5 {
                   3077:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 1.0e-20
                   3078: } {abc: 3 2 (1.00000e-20) :xyz}
                   3079: do_test printf-2.8.2.6 {
                   3080:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 1.0e-20
                   3081: } {abc: 3 2 (000001e-20) :xyz}
                   3082: do_test printf-2.8.2.7 {
                   3083:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 1.0e-20
                   3084: } {abc: 3 2 (0.00) :xyz}
                   3085: do_test printf-2.8.2.8 {
                   3086:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 1.0e-20
                   3087: } {abc: 3 2 (1.00e-20) :xyz}
                   3088: do_test printf-2.8.2.9 {
                   3089:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 1.0e-20
                   3090: } {abc: 3 2 (1e-20) :xyz}
                   3091: do_test printf-2.8.3.1 {
                   3092:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 1.0
                   3093: } {abc: (1.00) :xyz}
                   3094: do_test printf-2.8.3.2 {
                   3095:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 1.0
                   3096: } {abc: (1.00e+00) :xyz}
                   3097: do_test printf-2.8.3.3 {
                   3098:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 1.0
                   3099: } {abc: (  1) :xyz}
                   3100: do_test printf-2.8.3.4 {
                   3101:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 1.0
                   3102: } {abc: 3 2 (1) :xyz}
                   3103: do_test printf-2.8.3.5 {
                   3104:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 1.0
                   3105: } {abc: 3 2 (1.00000) :xyz}
                   3106: do_test printf-2.8.3.6 {
                   3107:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 1.0
                   3108: } {abc: 3 2 (0000000001) :xyz}
                   3109: do_test printf-2.8.3.7 {
                   3110:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 1.0
                   3111: } {abc: 3 2 (1.00) :xyz}
                   3112: do_test printf-2.8.3.8 {
                   3113:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 1.0
                   3114: } {abc: 3 2 (1.00e+00) :xyz}
                   3115: do_test printf-2.8.3.9 {
                   3116:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 1.0
                   3117: } {abc: 3 2 (  1) :xyz}
                   3118: do_test printf-2.8.4.1 {
                   3119:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 0.0
                   3120: } {abc: (0.00) :xyz}
                   3121: do_test printf-2.8.4.2 {
                   3122:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 0.0
                   3123: } {abc: (0.00e+00) :xyz}
                   3124: do_test printf-2.8.4.3 {
                   3125:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 0.0
                   3126: } {abc: (  0) :xyz}
                   3127: do_test printf-2.8.4.4 {
                   3128:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 0.0
                   3129: } {abc: 3 2 (0) :xyz}
                   3130: do_test printf-2.8.4.5 {
                   3131:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 0.0
                   3132: } {abc: 3 2 (0.00000) :xyz}
                   3133: do_test printf-2.8.4.6 {
                   3134:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 0.0
                   3135: } {abc: 3 2 (0000000000) :xyz}
                   3136: do_test printf-2.8.4.7 {
                   3137:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 0.0
                   3138: } {abc: 3 2 (0.00) :xyz}
                   3139: do_test printf-2.8.4.8 {
                   3140:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 0.0
                   3141: } {abc: 3 2 (0.00e+00) :xyz}
                   3142: do_test printf-2.8.4.9 {
                   3143:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 0.0
                   3144: } {abc: 3 2 (  0) :xyz}
                   3145: do_test printf-2.8.5.1 {
                   3146:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 100.0
                   3147: } {abc: (100.00) :xyz}
                   3148: do_test printf-2.8.5.2 {
                   3149:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 100.0
                   3150: } {abc: (1.00e+02) :xyz}
                   3151: do_test printf-2.8.5.3 {
                   3152:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 100.0
                   3153: } {abc: (1e+02) :xyz}
                   3154: do_test printf-2.8.5.4 {
                   3155:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 100.0
                   3156: } {abc: 3 2 (100) :xyz}
                   3157: do_test printf-2.8.5.5 {
                   3158:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 100.0
                   3159: } {abc: 3 2 (100.000) :xyz}
                   3160: do_test printf-2.8.5.6 {
                   3161:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 100.0
                   3162: } {abc: 3 2 (0000000100) :xyz}
                   3163: do_test printf-2.8.5.7 {
                   3164:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 100.0
                   3165: } {abc: 3 2 (100.00) :xyz}
                   3166: do_test printf-2.8.5.8 {
                   3167:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 100.0
                   3168: } {abc: 3 2 (1.00e+02) :xyz}
                   3169: do_test printf-2.8.5.9 {
                   3170:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 100.0
                   3171: } {abc: 3 2 (1e+02) :xyz}
                   3172: do_test printf-2.8.6.1 {
                   3173:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 9.99999
                   3174: } {abc: (10.00) :xyz}
                   3175: do_test printf-2.8.6.2 {
                   3176:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 9.99999
                   3177: } {abc: (1.00e+01) :xyz}
                   3178: do_test printf-2.8.6.3 {
                   3179:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 9.99999
                   3180: } {abc: ( 10) :xyz}
                   3181: do_test printf-2.8.6.4 {
                   3182:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 9.99999
                   3183: } {abc: 3 2 (9.99999) :xyz}
                   3184: do_test printf-2.8.6.5 {
                   3185:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 9.99999
                   3186: } {abc: 3 2 (9.99999) :xyz}
                   3187: do_test printf-2.8.6.6 {
                   3188:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 9.99999
                   3189: } {abc: 3 2 (0009.99999) :xyz}
                   3190: do_test printf-2.8.6.7 {
                   3191:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 9.99999
                   3192: } {abc: 3 2 (10.00) :xyz}
                   3193: do_test printf-2.8.6.8 {
                   3194:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 9.99999
                   3195: } {abc: 3 2 (1.00e+01) :xyz}
                   3196: do_test printf-2.8.6.9 {
                   3197:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 9.99999
                   3198: } {abc: 3 2 ( 10) :xyz}
                   3199: do_test printf-2.8.7.1 {
                   3200:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -0.00543
                   3201: } {abc: (-0.01) :xyz}
                   3202: do_test printf-2.8.7.2 {
                   3203:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -0.00543
                   3204: } {abc: (-5.43e-03) :xyz}
                   3205: do_test printf-2.8.7.3 {
                   3206:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -0.00543
                   3207: } {abc: (-0.0054) :xyz}
                   3208: do_test printf-2.8.7.4 {
                   3209:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -0.00543
                   3210: } {abc: 3 2 (-0.00543) :xyz}
                   3211: do_test printf-2.8.7.5 {
                   3212:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -0.00543
                   3213: } {abc: 3 2 (-0.00543000) :xyz}
                   3214: do_test printf-2.8.7.6 {
                   3215:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -0.00543
                   3216: } {abc: 3 2 (-000.00543) :xyz}
                   3217: do_test printf-2.8.7.7 {
                   3218:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -0.00543
                   3219: } {abc: 3 2 (-0.01) :xyz}
                   3220: do_test printf-2.8.7.8 {
                   3221:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -0.00543
                   3222: } {abc: 3 2 (-5.43e-03) :xyz}
                   3223: do_test printf-2.8.7.9 {
                   3224:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -0.00543
                   3225: } {abc: 3 2 (-0.0054) :xyz}
                   3226: do_test printf-2.8.8.1 {
                   3227:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -1.0
                   3228: } {abc: (-1.00) :xyz}
                   3229: do_test printf-2.8.8.2 {
                   3230:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -1.0
                   3231: } {abc: (-1.00e+00) :xyz}
                   3232: do_test printf-2.8.8.3 {
                   3233:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -1.0
                   3234: } {abc: ( -1) :xyz}
                   3235: do_test printf-2.8.8.4 {
                   3236:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -1.0
                   3237: } {abc: 3 2 (-1) :xyz}
                   3238: do_test printf-2.8.8.5 {
                   3239:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -1.0
                   3240: } {abc: 3 2 (-1.00000) :xyz}
                   3241: do_test printf-2.8.8.6 {
                   3242:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -1.0
                   3243: } {abc: 3 2 (-000000001) :xyz}
                   3244: do_test printf-2.8.8.7 {
                   3245:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -1.0
                   3246: } {abc: 3 2 (-1.00) :xyz}
                   3247: do_test printf-2.8.8.8 {
                   3248:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -1.0
                   3249: } {abc: 3 2 (-1.00e+00) :xyz}
                   3250: do_test printf-2.8.8.9 {
                   3251:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -1.0
                   3252: } {abc: 3 2 ( -1) :xyz}
                   3253: do_test printf-2.8.9.1 {
                   3254:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -99.99999
                   3255: } {abc: (-100.00) :xyz}
                   3256: do_test printf-2.8.9.2 {
                   3257:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -99.99999
                   3258: } {abc: (-1.00e+02) :xyz}
                   3259: do_test printf-2.8.9.3 {
                   3260:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -99.99999
                   3261: } {abc: (-1e+02) :xyz}
                   3262: do_test printf-2.8.9.4 {
                   3263:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -99.99999
                   3264: } {abc: 3 2 (-100) :xyz}
                   3265: do_test printf-2.8.9.5 {
                   3266:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -99.99999
                   3267: } {abc: 3 2 (-100.000) :xyz}
                   3268: do_test printf-2.8.9.6 {
                   3269:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -99.99999
                   3270: } {abc: 3 2 (-000000100) :xyz}
                   3271: do_test printf-2.8.9.7 {
                   3272:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -99.99999
                   3273: } {abc: 3 2 (-100.00) :xyz}
                   3274: do_test printf-2.8.9.8 {
                   3275:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -99.99999
                   3276: } {abc: 3 2 (-1.00e+02) :xyz}
                   3277: do_test printf-2.8.9.9 {
                   3278:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -99.99999
                   3279: } {abc: 3 2 (-1e+02) :xyz}
                   3280: do_test printf-2.8.10.1 {
                   3281:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 3.14e+9
                   3282: } {abc: (3140000000.00) :xyz}
                   3283: do_test printf-2.8.10.2 {
                   3284:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 3.14e+9
                   3285: } {abc: (3.14e+09) :xyz}
                   3286: do_test printf-2.8.10.3 {
                   3287:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 3.14e+9
                   3288: } {abc: (3.1e+09) :xyz}
                   3289: do_test printf-2.8.10.4 {
                   3290:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 3.14e+9
                   3291: } {abc: 3 2 (3.14e+09) :xyz}
                   3292: do_test printf-2.8.10.5 {
                   3293:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 3.14e+9
                   3294: } {abc: 3 2 (3.14000e+09) :xyz}
                   3295: do_test printf-2.8.10.6 {
                   3296:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 3.14e+9
                   3297: } {abc: 3 2 (003.14e+09) :xyz}
                   3298: do_test printf-2.8.10.7 {
                   3299:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 3.14e+9
                   3300: } {abc: 3 2 (3140000000.00) :xyz}
                   3301: do_test printf-2.8.10.8 {
                   3302:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 3.14e+9
                   3303: } {abc: 3 2 (3.14e+09) :xyz}
                   3304: do_test printf-2.8.10.9 {
                   3305:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 3.14e+9
                   3306: } {abc: 3 2 (3.1e+09) :xyz}
                   3307: do_test printf-2.8.11.2 {
                   3308:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -4.72732e+88
                   3309: } {abc: (-4.73e+88) :xyz}
                   3310: do_test printf-2.8.11.3 {
                   3311:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -4.72732e+88
                   3312: } {abc: (-4.7e+88) :xyz}
                   3313: do_test printf-2.8.11.4 {
                   3314:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -4.72732e+88
                   3315: } {abc: 3 2 (-4.72732e+88) :xyz}
                   3316: do_test printf-2.8.11.5 {
                   3317:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -4.72732e+88
                   3318: } {abc: 3 2 (-4.72732e+88) :xyz}
                   3319: do_test printf-2.8.11.6 {
                   3320:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -4.72732e+88
                   3321: } {abc: 3 2 (-4.72732e+88) :xyz}
                   3322: do_test printf-2.8.11.8 {
                   3323:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -4.72732e+88
                   3324: } {abc: 3 2 (-4.73e+88) :xyz}
                   3325: do_test printf-2.8.11.9 {
                   3326:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -4.72732e+88
                   3327: } {abc: 3 2 (-4.7e+88) :xyz}
                   3328: do_test printf-2.8.12.2 {
                   3329:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 9.87991e+143
                   3330: } {abc: (9.88e+143) :xyz}
                   3331: do_test printf-2.8.12.3 {
                   3332:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 9.87991e+143
                   3333: } {abc: (9.9e+143) :xyz}
                   3334: do_test printf-2.8.12.4 {
                   3335:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 9.87991e+143
                   3336: } {abc: 3 2 (9.87991e+143) :xyz}
                   3337: do_test printf-2.8.12.5 {
                   3338:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 9.87991e+143
                   3339: } {abc: 3 2 (9.87991e+143) :xyz}
                   3340: do_test printf-2.8.12.6 {
                   3341:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 9.87991e+143
                   3342: } {abc: 3 2 (9.87991e+143) :xyz}
                   3343: do_test printf-2.8.12.8 {
                   3344:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 9.87991e+143
                   3345: } {abc: 3 2 (9.88e+143) :xyz}
                   3346: do_test printf-2.8.12.9 {
                   3347:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 9.87991e+143
                   3348: } {abc: 3 2 (9.9e+143) :xyz}
                   3349: do_test printf-2.8.13.1 {
                   3350:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -6.287291e-9
                   3351: } {abc: (-0.00) :xyz}
                   3352: do_test printf-2.8.13.2 {
                   3353:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -6.287291e-9
                   3354: } {abc: (-6.29e-09) :xyz}
                   3355: do_test printf-2.8.13.3 {
                   3356:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -6.287291e-9
                   3357: } {abc: (-6.3e-09) :xyz}
                   3358: do_test printf-2.8.13.4 {
                   3359:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -6.287291e-9
                   3360: } {abc: 3 2 (-6.28729e-09) :xyz}
                   3361: do_test printf-2.8.13.5 {
                   3362:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -6.287291e-9
                   3363: } {abc: 3 2 (-6.28729e-09) :xyz}
                   3364: do_test printf-2.8.13.6 {
                   3365:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -6.287291e-9
                   3366: } {abc: 3 2 (-6.28729e-09) :xyz}
                   3367: do_test printf-2.8.13.7 {
                   3368:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -6.287291e-9
                   3369: } {abc: 3 2 (-0.00) :xyz}
                   3370: do_test printf-2.8.13.8 {
                   3371:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -6.287291e-9
                   3372: } {abc: 3 2 (-6.29e-09) :xyz}
                   3373: do_test printf-2.8.13.9 {
                   3374:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -6.287291e-9
                   3375: } {abc: 3 2 (-6.3e-09) :xyz}
                   3376: do_test printf-2.8.14.1 {
                   3377:   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 3.38826392e-110
                   3378: } {abc: (0.00) :xyz}
                   3379: do_test printf-2.8.14.2 {
                   3380:   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 3.38826392e-110
                   3381: } {abc: (3.39e-110) :xyz}
                   3382: do_test printf-2.8.14.3 {
                   3383:   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 3.38826392e-110
                   3384: } {abc: (3.4e-110) :xyz}
                   3385: do_test printf-2.8.14.4 {
                   3386:   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 3.38826392e-110
                   3387: } {abc: 3 2 (3.38826e-110) :xyz}
                   3388: do_test printf-2.8.14.5 {
                   3389:   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 3.38826392e-110
                   3390: } {abc: 3 2 (3.38826e-110) :xyz}
                   3391: do_test printf-2.8.14.6 {
                   3392:   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 3.38826392e-110
                   3393: } {abc: 3 2 (3.38826e-110) :xyz}
                   3394: do_test printf-2.8.14.7 {
                   3395:   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 3.38826392e-110
                   3396: } {abc: 3 2 (0.00) :xyz}
                   3397: do_test printf-2.8.14.8 {
                   3398:   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 3.38826392e-110
                   3399: } {abc: 3 2 (3.39e-110) :xyz}
                   3400: do_test printf-2.8.14.9 {
                   3401:   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 3.38826392e-110
                   3402: } {abc: 3 2 (3.4e-110) :xyz}
                   3403: do_test printf-2.8.15.1 {
                   3404:   sqlite3_mprintf_double {abc: (% *.*f) :xyz} 3 2 3.38826392e-110
                   3405: } {abc: ( 0.00) :xyz}
                   3406: do_test printf-2.8.15.2 {
                   3407:   sqlite3_mprintf_double {abc: (% *.*e) :xyz} 3 2 3.38826392e-110
                   3408: } {abc: ( 3.39e-110) :xyz}
                   3409: do_test printf-2.8.15.3 {
                   3410:   sqlite3_mprintf_double {abc: (% *.*g) :xyz} 3 2 3.38826392e-110
                   3411: } {abc: ( 3.4e-110) :xyz}
                   3412: do_test printf-2.8.15.4 {
                   3413:   sqlite3_mprintf_double {abc: %d %d (% g) :xyz} 3 2 3.38826392e-110
                   3414: } {abc: 3 2 ( 3.38826e-110) :xyz}
                   3415: do_test printf-2.8.15.5 {
                   3416:   sqlite3_mprintf_double {abc: %d %d (% #g) :xyz} 3 2 3.38826392e-110
                   3417: } {abc: 3 2 ( 3.38826e-110) :xyz}
                   3418: do_test printf-2.8.15.6 {
                   3419:   sqlite3_mprintf_double {abc: %d %d (%0 10g) :xyz} 3 2 3.38826392e-110
                   3420: } {abc: 3 2 ( 3.38826e-110) :xyz}
                   3421: do_test printf-2.8.15.7 {
                   3422:   sqlite3_mprintf_double {abc: %d %d (% 3.2f) :xyz} 3 2 3.38826392e-110
                   3423: } {abc: 3 2 ( 0.00) :xyz}
                   3424: do_test printf-2.8.15.8 {
                   3425:   sqlite3_mprintf_double {abc: %d %d (% 3.2e) :xyz} 3 2 3.38826392e-110
                   3426: } {abc: 3 2 ( 3.39e-110) :xyz}
                   3427: do_test printf-2.8.15.9 {
                   3428:   sqlite3_mprintf_double {abc: %d %d (% 3.2g) :xyz} 3 2 3.38826392e-110
                   3429: } {abc: 3 2 ( 3.4e-110) :xyz}
                   3430: 
                   3431: do_test printf-2.9.1 {
                   3432:   sqlite3_mprintf_double {abc: %d %d (%5.0g) :xyz} 0 0 1.234
                   3433: } {abc: 0 0 (    1) :xyz}
                   3434: do_test printf-2.9.2 {
                   3435:   sqlite3_mprintf_double {abc: %d %d (%+5.0g) :xyz} 0 0 1.234
                   3436: } {abc: 0 0 (   +1) :xyz}
                   3437: do_test printf-2.9.3 {
                   3438:   sqlite3_mprintf_double {abc: %d %d (%+-5.0g) :xyz} 0 0 1.234
                   3439: } {abc: 0 0 (+1   ) :xyz}
                   3440: 
                   3441: do_test printf-2.10.1 {
                   3442:   sqlite3_mprintf_double {abc: %d %d (%-010.5f) :xyz} 0 0 1.234
                   3443: } {abc: 0 0 (1.23400   ) :xyz}
                   3444: do_test printf-2.10.2 {
                   3445:   sqlite3_mprintf_double {abc: %d %d (%010.5f) :xyz} 0 0 1.234
                   3446: } {abc: 0 0 (0001.23400) :xyz}
                   3447: do_test printf-2.10.3 {
                   3448:   sqlite3_mprintf_double {abc: %d %d (%+010.5f) :xyz} 0 0 1.234
                   3449: } {abc: 0 0 (+001.23400) :xyz}
                   3450: 
                   3451: do_test printf-3.1 {
                   3452:   sqlite3_mprintf_str {A String: (%*.*s)} 10 10 {This is the string}
                   3453: } [format {A String: (%*.*s)} 10 10 {This is the string}]
                   3454: do_test printf-3.2 {
                   3455:   sqlite3_mprintf_str {A String: (%*.*s)} 10 5 {This is the string}
                   3456: } [format {A String: (%*.*s)} 10 5 {This is the string}]
                   3457: do_test printf-3.3 {
                   3458:   sqlite3_mprintf_str {A String: (%*.*s)} -10 5 {This is the string}
                   3459: } [format {A String: (%*.*s)} -10 5 {This is the string}]
                   3460: do_test printf-3.4 {
                   3461:   sqlite3_mprintf_str {%d %d A String: (%s)} 1 2 {This is the string}
                   3462: } [format {%d %d A String: (%s)} 1 2 {This is the string}]
                   3463: do_test printf-3.5 {
                   3464:   sqlite3_mprintf_str {%d %d A String: (%30s)} 1 2 {This is the string}
                   3465: } [format {%d %d A String: (%30s)} 1 2 {This is the string}]
                   3466: do_test printf-3.6 {
                   3467:   sqlite3_mprintf_str {%d %d A String: (%-30s)} 1 2 {This is the string}
                   3468: } [format {%d %d A String: (%-30s)} 1 2 {This is the string}]
                   3469: do_test snprintf-3.11 {
                   3470:   sqlite3_snprintf_str 2 {x%d %d %s} 10 10 {This is the string}
                   3471: } {x}
                   3472: do_test snprintf-3.12 {
                   3473:   sqlite3_snprintf_str 3 {x%d %d %s} 10 10 {This is the string}
                   3474: } {x1}
                   3475: do_test snprintf-3.13 {
                   3476:   sqlite3_snprintf_str 4 {x%d %d %s} 10 10 {This is the string}
                   3477: } {x10}
                   3478: do_test snprintf-3.14 {
                   3479:   sqlite3_snprintf_str 5 {x%d %d %s} 10 10 {This is the string}
                   3480: } {x10 }
                   3481: do_test snprintf-3.15 {
                   3482:   sqlite3_snprintf_str 6 {x%d %d %s} 10 10 {This is the string}
                   3483: } {x10 1}
                   3484: do_test snprintf-3.16 {
                   3485:   sqlite3_snprintf_str 7 {x%d %d %s} 10 10 {This is the string}
                   3486: } {x10 10}
                   3487: do_test snprintf-3.17 {
                   3488:   sqlite3_snprintf_str 8 {x%d %d %s} 10 10 {This is the string}
                   3489: } {x10 10 }
                   3490: do_test snprintf-3.18 {
                   3491:   sqlite3_snprintf_str 9 {x%d %d %s} 10 10 {This is the string}
                   3492: } {x10 10 T}
                   3493: do_test snprintf-3.19 {
                   3494:   sqlite3_snprintf_str 100 {x%d %d %s} 10 10 {This is the string}
                   3495: } {x10 10 This is the string}
                   3496: 
                   3497: do_test printf-4.1 {
                   3498:   sqlite3_mprintf_str {%d %d A quoted string: '%q'} 1 2 {Hi Y'all}
                   3499: } {1 2 A quoted string: 'Hi Y''all'}
                   3500: do_test printf-4.2 {
                   3501:   sqlite3_mprintf_str {%d %d A NULL pointer in %%q: '%q'} 1 2
                   3502: } {1 2 A NULL pointer in %q: '(NULL)'}
                   3503: do_test printf-4.3 {
                   3504:   sqlite3_mprintf_str {%d %d A quoted string: %Q} 1 2 {Hi Y'all}
                   3505: } {1 2 A quoted string: 'Hi Y''all'}
                   3506: do_test printf-4.4 {
                   3507:   sqlite3_mprintf_str {%d %d A NULL pointer in %%Q: %Q} 1 2
                   3508: } {1 2 A NULL pointer in %Q: NULL}
                   3509: do_test printf-4.5 {
                   3510:   sqlite3_mprintf_str {%d %d A quoted string: '%.10q'} 1 2 {Hi Y'all}
                   3511: } {1 2 A quoted string: 'Hi Y''all'}
                   3512: do_test printf-4.6 {
                   3513:   sqlite3_mprintf_str {%d %d A quoted string: '%.9q'} 1 2 {Hi Y'all}
                   3514: } {1 2 A quoted string: 'Hi Y''all'}
                   3515: do_test printf-4.7 {
                   3516:   sqlite3_mprintf_str {%d %d A quoted string: '%.8q'} 1 2 {Hi Y'all}
                   3517: } {1 2 A quoted string: 'Hi Y''all'}
                   3518: do_test printf-4.8 {
                   3519:   sqlite3_mprintf_str {%d %d A quoted string: '%.7q'} 1 2 {Hi Y'all}
                   3520: } {1 2 A quoted string: 'Hi Y''al'}
                   3521: do_test printf-4.9 {
                   3522:   sqlite3_mprintf_str {%d %d A quoted string: '%.6q'} 1 2 {Hi Y'all}
                   3523: } {1 2 A quoted string: 'Hi Y''a'}
                   3524: do_test printf-4.10 {
                   3525:   sqlite3_mprintf_str {%d %d A quoted string: '%.5q'} 1 2 {Hi Y'all}
                   3526: } {1 2 A quoted string: 'Hi Y'''}
                   3527: do_test printf-4.11 {
                   3528:   sqlite3_mprintf_str {%d %d A quoted string: '%.4q'} 1 2 {Hi Y'all}
                   3529: } {1 2 A quoted string: 'Hi Y'}
                   3530: do_test printf-4.12 {
                   3531:   sqlite3_mprintf_str {%d %d A quoted string: '%.3q'} 1 2 {Hi Y'all}
                   3532: } {1 2 A quoted string: 'Hi '}
                   3533: do_test printf-4.13 {
                   3534:   sqlite3_mprintf_str {%d %d A quoted string: '%.2q'} 1 2 {Hi Y'all}
                   3535: } {1 2 A quoted string: 'Hi'}
                   3536: do_test printf-4.14 {
                   3537:   sqlite3_mprintf_str {%d %d A quoted string: '%.1q'} 1 2 {Hi Y'all}
                   3538: } {1 2 A quoted string: 'H'}
                   3539: do_test printf-4.15 {
                   3540:   sqlite3_mprintf_str {%d %d A quoted string: '%.0q'} 1 2 {Hi Y'all}
                   3541: } {1 2 A quoted string: ''}
                   3542: do_test printf-4.16 {
                   3543:   sqlite3_mprintf_str {%d A quoted string: '%.*q'} 1 6 {Hi Y'all}
                   3544: } {1 A quoted string: 'Hi Y''a'}
                   3545: 
                   3546: 
                   3547: do_test printf-5.1 {
                   3548:   set x [sqlite3_mprintf_str {%d %d %100000s} 0 0 {Hello}]
                   3549:   string length $x
                   3550: } {100004}
                   3551: do_test printf-5.2 {
                   3552:   sqlite3_mprintf_str {%d %d (%-10.10s) %} -9 -10 {HelloHelloHello}
                   3553: } {-9 -10 (HelloHello) %}
                   3554: 
                   3555: do_test printf-6.1 {
                   3556:   sqlite3_mprintf_z_test , one two three four five six
                   3557: } {,one,two,three,four,five,six}
                   3558: 
                   3559: 
                   3560: do_test printf-7.1 {
                   3561:   sqlite3_mprintf_scaled {A double: %g} 1.0e307 1.0
                   3562: } {A double: 1e+307}
                   3563: do_test printf-7.2 {
                   3564:   sqlite3_mprintf_scaled {A double: %g} 1.0e307 10.0
                   3565: } {A double: 1e+308}
                   3566: do_test printf-7.3 {
                   3567:   sqlite3_mprintf_scaled {A double: %g} 1.0e307 100.0
                   3568: } {A double: Inf}
                   3569: do_test printf-7.4 {
                   3570:   sqlite3_mprintf_scaled {A double: %g} -1.0e307 100.0
                   3571: } {A double: -Inf}
                   3572: do_test printf-7.5 {
                   3573:   sqlite3_mprintf_scaled {A double: %+g} 1.0e307 100.0
                   3574: } {A double: +Inf}
                   3575: 
                   3576: do_test printf-8.1 {
                   3577:   sqlite3_mprintf_int {%u %u %u} 0x7fffffff 0x80000000 0xffffffff
                   3578: } {2147483647 2147483648 4294967295}
                   3579: do_test printf-8.2 {
                   3580:   sqlite3_mprintf_long {%lu %lu %lu} 0x7fffffff 0x80000000 0xffffffff
                   3581: } {2147483647 2147483648 4294967295}
                   3582: do_test printf-8.3 {
                   3583:   sqlite3_mprintf_int64 {%llu %llu %llu} 2147483647 2147483648 4294967296
                   3584: } {2147483647 2147483648 4294967296}
                   3585: do_test printf-8.4 {
                   3586:   sqlite3_mprintf_int64 {%lld %lld %lld} 2147483647 2147483648 4294967296
                   3587: } {2147483647 2147483648 4294967296}
                   3588: do_test printf-8.5 {
                   3589:   sqlite3_mprintf_int64 {%llx %llx %llx} 2147483647 2147483648 4294967296
                   3590: } {7fffffff 80000000 100000000}
                   3591: do_test printf-8.6 {
                   3592:   sqlite3_mprintf_int64 {%llx %llo %lld} -1 -1 -1
                   3593: } {ffffffffffffffff 1777777777777777777777 -1}
                   3594: do_test printf-8.7 {
                   3595:   sqlite3_mprintf_int64 {%llx %llx %llx} +2147483647 +2147483648 +4294967296
                   3596: } {7fffffff 80000000 100000000}
                   3597: 
                   3598: do_test printf-9.1 {
                   3599:   sqlite3_mprintf_int {%*.*c} 4 4 65
                   3600: } {AAAA}
                   3601: do_test printf-9.2 {
                   3602:   sqlite3_mprintf_int {%*.*c} -4 1 66
                   3603: } {B   }
                   3604: do_test printf-9.3 {
                   3605:   sqlite3_mprintf_int {%*.*c} 4 1 67
                   3606: } {   C}
                   3607: do_test printf-9.4 {
                   3608:   sqlite3_mprintf_int {%d %d %c} 4 1 67
                   3609: } {4 1 C}
                   3610: set ten {          }
                   3611: set fifty $ten$ten$ten$ten$ten
                   3612: do_test printf-9.5 {
                   3613:   sqlite3_mprintf_int {%d %*c} 1 -201 67
                   3614: } "1 C$fifty$fifty$fifty$fifty"
                   3615: do_test printf-9.6 {
                   3616:   sqlite3_mprintf_int {hi%12345.12346yhello} 0 0 0
                   3617: } {hi}
                   3618: 
                   3619: # Ticket #812
                   3620: #
                   3621: do_test printf-10.1 {
                   3622:   sqlite3_mprintf_stronly %s {}
                   3623: } {}
                   3624: 
                   3625: # Ticket #831
                   3626: #
                   3627: do_test printf-10.2 {
                   3628:   sqlite3_mprintf_stronly %q {}
                   3629: } {}
                   3630: 
                   3631: # Ticket #1340:  Test for loss of precision on large positive exponents
                   3632: #
                   3633: do_test printf-10.3 {
                   3634:   sqlite3_mprintf_double {%d %d %f} 1 1 1e300
                   3635: } {1 1 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000}
                   3636: 
                   3637: # The non-standard '!' flag on a 'g' conversion forces a decimal point
                   3638: # and at least one digit on either side of the decimal point.
                   3639: #
                   3640: do_test printf-11.1 {
                   3641:   sqlite3_mprintf_double {%d %d %!g} 1 1 1
                   3642: } {1 1 1.0}
                   3643: do_test printf-11.2 {
                   3644:   sqlite3_mprintf_double {%d %d %!g} 1 1 123
                   3645: } {1 1 123.0}
                   3646: do_test printf-11.3 {
                   3647:   sqlite3_mprintf_double {%d %d %!g} 1 1 12.3
                   3648: } {1 1 12.3}
                   3649: do_test printf-11.4 {
                   3650:   sqlite3_mprintf_double {%d %d %!g} 1 1 0.123
                   3651: } {1 1 0.123}
                   3652: do_test printf-11.5 {
                   3653:   sqlite3_mprintf_double {%d %d %!.15g} 1 1 1
                   3654: } {1 1 1.0}
                   3655: do_test printf-11.6 {
                   3656:   sqlite3_mprintf_double {%d %d %!.15g} 1 1 1e10
                   3657: } {1 1 10000000000.0}
                   3658: do_test printf-11.7 {
                   3659:   sqlite3_mprintf_double {%d %d %!.15g} 1 1 1e300
                   3660: } {1 1 1.0e+300}
                   3661: 
                   3662: # Additional tests for coverage
                   3663: #
                   3664: do_test printf-12.1 {
                   3665:   sqlite3_mprintf_double {%d %d %.2000g} 1 1 1.0
                   3666: } {1 1 1}
                   3667: 
                   3668: # Floating point boundary cases
                   3669: #
                   3670: do_test printf-13.1 {
                   3671:   sqlite3_mprintf_hexdouble %.20f 4024000000000000
                   3672: } {10.00000000000000000000}
                   3673: do_test printf-13.2 {
                   3674:   sqlite3_mprintf_hexdouble %.20f 4197d78400000000
                   3675: } {100000000.00000000000000000000}
                   3676: do_test printf-13.3 {
                   3677:   sqlite3_mprintf_hexdouble %.20f 4693b8b5b5056e17
                   3678: } {100000000000000000000000000000000.00000000000000000000}
                   3679: do_test printf-13.4 {
                   3680:   sqlite3_mprintf_hexdouble %.20f 7ff0000000000000
                   3681: } {Inf}
                   3682: do_test printf-13.5 {
                   3683:   sqlite3_mprintf_hexdouble %.20f fff0000000000000
                   3684: } {-Inf}
                   3685: do_test printf-13.6 {
                   3686:   sqlite3_mprintf_hexdouble %.20f fff8000000000000
                   3687: } {NaN}
                   3688: 
                   3689: do_test printf-14.1 {
                   3690:   sqlite3_mprintf_str {abc-%y-123} 0 0 {not used}
                   3691: } {abc-}
                   3692: do_test printf-14.2 {
                   3693:   sqlite3_mprintf_n_test {xyzzy}
                   3694: } 5
                   3695: do_test printf-14.3 {
                   3696:   sqlite3_mprintf_str {abc-%T-123} 0 0 {not used}
                   3697: } {abc-}
                   3698: do_test printf-14.4 {
                   3699:   sqlite3_mprintf_str {abc-%#} 0 0 {not used}
                   3700: } {abc-}
                   3701: do_test printf-14.5 {
                   3702:   sqlite3_mprintf_str {abc-%*.*s-xyz} 10 -10 {a_very_long_string}
                   3703: } {abc-a_very_lon-xyz}
                   3704: do_test printf-14.6 {
                   3705:   sqlite3_mprintf_str {abc-%5.10/} 0 0 {not used}
                   3706: } {abc-}
                   3707: do_test printf-14.7 {
                   3708:   sqlite3_mprintf_str {abc-%05.5d} 123 0 {not used}
                   3709: } {abc-00123}
                   3710: do_test printf-14.8 {
                   3711:   sqlite3_mprintf_str {abc-%05.5d} 1234567 0 {not used}
                   3712: } {abc-1234567}
                   3713: 
                   3714: for {set i 2} {$i<200} {incr i} {
                   3715:   set res [string repeat { } [expr {$i-1}]]x
                   3716:   do_test printf-14.90.$i "
                   3717:     sqlite3_mprintf_str {%*.*s} $i 500 x
                   3718:   " $res
                   3719: }
                   3720: 
                   3721: do_test printf-15.1 {
                   3722:   sqlite3_snprintf_int 5 {12345} 0
                   3723: } {1234}
                   3724: do_test printf-15.2 {
                   3725:   sqlite3_snprintf_int 5 {} 0
                   3726: } {}
                   3727: do_test printf-15.3 {
                   3728:   sqlite3_snprintf_int 0 {} 0
                   3729: } {abcdefghijklmnopqrstuvwxyz}
                   3730: 
                   3731: # Now test malloc() failure within a sqlite3_mprintf():
                   3732: #
                   3733: ifcapable memdebug {
                   3734:   foreach var {a b c d} {
                   3735:     set $var [string repeat $var 400]
                   3736:   }
                   3737:   set str1 "[string repeat A 360]%d%d%s"
                   3738:   set str2 [string repeat B 5000]
                   3739:   set zSuccess "[string repeat A 360]11[string repeat B 5000]"
                   3740:   foreach ::iRepeat {0 1} {
                   3741:     set nTestNum 1
                   3742:     while {1} {
                   3743:       sqlite3_memdebug_fail $nTestNum -repeat $::iRepeat
                   3744:       set z [sqlite3_mprintf_str $str1 1 1 $str2]
                   3745:       set nFail [sqlite3_memdebug_fail -1 -benign nBenign]
                   3746:       do_test printf-malloc-$::iRepeat.$nTestNum {
                   3747:         expr {($nFail>0 && $z eq "") || ($nFail==$nBenign && $z eq $zSuccess)}
                   3748:       } {1}
                   3749:       if {$nFail == 0} break
                   3750:       incr nTestNum
                   3751:     }
                   3752:   }
                   3753: }
                   3754: 
                   3755: finish_test

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>