Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Test cases and a bug fix on the new unicode handling in %c. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | printf-enhancement |
Files: | files | file ages | folders |
SHA3-256: |
e41d64e95b9b6fec5dc329553822925e |
User & Date: | drh 2018-02-19 20:23:20.986 |
Context
2018-02-19
| ||
20:41 | More test cases for unicode handling in printf. (check-in: ac18821111 user: drh tags: printf-enhancement) | |
20:23 | Test cases and a bug fix on the new unicode handling in %c. (check-in: e41d64e95b user: drh tags: printf-enhancement) | |
18:56 | Fix the %c substitution in printf() so that it works with unicode characters. (check-in: c35be1d9e9 user: drh tags: printf-enhancement) | |
Changes
Changes to src/printf.c.
︙ | ︙ | |||
663 664 665 666 667 668 669 | width = 0; } while( precision-- > 1 ){ sqlite3StrAccumAppend(pAccum, buf, length); } } bufpt = buf; | | > | 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 | width = 0; } while( precision-- > 1 ){ sqlite3StrAccumAppend(pAccum, buf, length); } } bufpt = buf; flag_altform2 = 1; goto adjust_width_for_utf8; case etSTRING: case etDYNSTRING: if( bArgList ){ bufpt = getTextArg(pArgList); xtype = etSTRING; }else{ bufpt = va_arg(ap,char*); |
︙ | ︙ |
Changes to test/printf2.test.
︙ | ︙ | |||
144 145 146 147 148 149 150 151 152 153 | do_execsql_test printf2-4.9 { SELECT printf('|%,d|%,d|',123456789,-123456789); } {|123,456,789|-123,456,789|} do_execsql_test printf2-4.10 { SELECT printf('|%,d|%,d|',1234567890,-1234567890); } {|1,234,567,890|-1,234,567,890|} finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | do_execsql_test printf2-4.9 { SELECT printf('|%,d|%,d|',123456789,-123456789); } {|123,456,789|-123,456,789|} do_execsql_test printf2-4.10 { SELECT printf('|%,d|%,d|',1234567890,-1234567890); } {|1,234,567,890|-1,234,567,890|} # 2018-02-19. Unicode characters with %c do_execsql_test printf2-5.100 { SELECT printf('(%8c)',char(11106)); } {{( ⭢)}} do_execsql_test printf2-5.101 { SELECT printf('(%-8c)',char(11106)); } {{(⭢ )}} do_execsql_test printf2-5.102 { SELECT printf('(%5.3c)',char(1492)); } {{( ההה)}} do_execsql_test printf2-5.103 { SELECT printf('(%-5.3c)',char(1492)); } {{(ההה )}} do_execsql_test printf2-5.104 { SELECT printf('(%3.3c)',char(1492)); } {{(ההה)}} do_execsql_test printf2-5.105 { SELECT printf('(%-3.3c)',char(1492)); } {{(ההה)}} do_execsql_test printf2-5.104 { SELECT printf('(%2c)',char(1513)); } {{( ש)}} do_execsql_test printf2-5.106 { SELECT printf('(%-2c)',char(1513)); } {{(ש )}} finish_test |