Fossil SCM
Fix corner-case in invalid utf-8 detection, with modified test-cases. Additional test-cases still to be done.
Commit
87da6f97d7863f90dc8cb75413508a3ee1bf3aa8
Parent
c7e9625d4238f32…
2 files changed
+11
-1
+16
-16
+11
-1
| --- src/lookslike.c | ||
| +++ src/lookslike.c | ||
| @@ -161,11 +161,21 @@ | ||
| 161 | 161 | if( c2>=0x80 ){ |
| 162 | 162 | if( ((c2<0xc2) || (c2>=0xf4) || ((c&0xc0)!=0x80)) && |
| 163 | 163 | (((c2!=0xf4) || (c>=0x90)) && ((c2!=0xc0) || (c!=0x80))) ){ |
| 164 | 164 | return LOOK_INVALID; /* Invalid UTF-8 */ |
| 165 | 165 | } |
| 166 | - c = (c2 >= 0xe0) ? (c2<<1)+1 : ' '; | |
| 166 | + if( c2>=0xe0 ){ | |
| 167 | + if( c2>=0xf0 ){ | |
| 168 | + if (c2==0xf0 && c<0x90) return LOOK_INVALID; /* Invalid UTF-8 */ | |
| 169 | + c = (c2<<1)|3; | |
| 170 | + }else{ | |
| 171 | + if (c2==0xe0 && c<0xa0) return LOOK_INVALID; /* Invalid UTF-8 */ | |
| 172 | + c = (c2<<1)|3; | |
| 173 | + } | |
| 174 | + }else{ | |
| 175 | + c = ' '; | |
| 176 | + } | |
| 167 | 177 | } |
| 168 | 178 | } |
| 169 | 179 | return (c>=0x80) ? LOOK_INVALID : 0; /* Last byte must be ASCII. */ |
| 170 | 180 | } |
| 171 | 181 | |
| 172 | 182 |
| --- src/lookslike.c | |
| +++ src/lookslike.c | |
| @@ -161,11 +161,21 @@ | |
| 161 | if( c2>=0x80 ){ |
| 162 | if( ((c2<0xc2) || (c2>=0xf4) || ((c&0xc0)!=0x80)) && |
| 163 | (((c2!=0xf4) || (c>=0x90)) && ((c2!=0xc0) || (c!=0x80))) ){ |
| 164 | return LOOK_INVALID; /* Invalid UTF-8 */ |
| 165 | } |
| 166 | c = (c2 >= 0xe0) ? (c2<<1)+1 : ' '; |
| 167 | } |
| 168 | } |
| 169 | return (c>=0x80) ? LOOK_INVALID : 0; /* Last byte must be ASCII. */ |
| 170 | } |
| 171 | |
| 172 |
| --- src/lookslike.c | |
| +++ src/lookslike.c | |
| @@ -161,11 +161,21 @@ | |
| 161 | if( c2>=0x80 ){ |
| 162 | if( ((c2<0xc2) || (c2>=0xf4) || ((c&0xc0)!=0x80)) && |
| 163 | (((c2!=0xf4) || (c>=0x90)) && ((c2!=0xc0) || (c!=0x80))) ){ |
| 164 | return LOOK_INVALID; /* Invalid UTF-8 */ |
| 165 | } |
| 166 | if( c2>=0xe0 ){ |
| 167 | if( c2>=0xf0 ){ |
| 168 | if (c2==0xf0 && c<0x90) return LOOK_INVALID; /* Invalid UTF-8 */ |
| 169 | c = (c2<<1)|3; |
| 170 | }else{ |
| 171 | if (c2==0xe0 && c<0xa0) return LOOK_INVALID; /* Invalid UTF-8 */ |
| 172 | c = (c2<<1)|3; |
| 173 | } |
| 174 | }else{ |
| 175 | c = ' '; |
| 176 | } |
| 177 | } |
| 178 | } |
| 179 | return (c>=0x80) ? LOOK_INVALID : 0; /* Last byte must be ASCII. */ |
| 180 | } |
| 181 | |
| 182 |
+16
-16
| --- test/utf.test | ||
| +++ test/utf.test | ||
| @@ -5229,11 +5229,11 @@ | ||
| 5229 | 5229 | Has flag LOOK_LONE_CR: no |
| 5230 | 5230 | Has flag LOOK_LF: no |
| 5231 | 5231 | Has flag LOOK_LONE_LF: no |
| 5232 | 5232 | Has flag LOOK_CRLF: no |
| 5233 | 5233 | Has flag LOOK_LONG: no |
| 5234 | -Has flag LOOK_INVALID: no | |
| 5234 | +Has flag LOOK_INVALID: yes | |
| 5235 | 5235 | Has flag LOOK_ODD: no |
| 5236 | 5236 | Has flag LOOK_SHORT: no} |
| 5237 | 5237 | |
| 5238 | 5238 | utf-check 407 utf-check-407-0-153-1.jnk \ |
| 5239 | 5239 | {File "%TEMP%/utf-check-407-0-153-1.jnk" has 6 bytes. |
| @@ -5245,11 +5245,11 @@ | ||
| 5245 | 5245 | Has flag LOOK_LONE_CR: no |
| 5246 | 5246 | Has flag LOOK_LF: no |
| 5247 | 5247 | Has flag LOOK_LONE_LF: no |
| 5248 | 5248 | Has flag LOOK_CRLF: no |
| 5249 | 5249 | Has flag LOOK_LONG: no |
| 5250 | -Has flag LOOK_INVALID: no | |
| 5250 | +Has flag LOOK_INVALID: yes | |
| 5251 | 5251 | Has flag LOOK_ODD: no |
| 5252 | 5252 | Has flag LOOK_SHORT: no} |
| 5253 | 5253 | |
| 5254 | 5254 | utf-check 408 utf-check-408-0-154-0.jnk \ |
| 5255 | 5255 | {File "%TEMP%/utf-check-408-0-154-0.jnk" has 5 bytes. |
| @@ -5261,11 +5261,11 @@ | ||
| 5261 | 5261 | Has flag LOOK_LONE_CR: yes |
| 5262 | 5262 | Has flag LOOK_LF: no |
| 5263 | 5263 | Has flag LOOK_LONE_LF: no |
| 5264 | 5264 | Has flag LOOK_CRLF: no |
| 5265 | 5265 | Has flag LOOK_LONG: no |
| 5266 | -Has flag LOOK_INVALID: no | |
| 5266 | +Has flag LOOK_INVALID: yes | |
| 5267 | 5267 | Has flag LOOK_ODD: no |
| 5268 | 5268 | Has flag LOOK_SHORT: no} |
| 5269 | 5269 | |
| 5270 | 5270 | utf-check 409 utf-check-409-0-154-1.jnk \ |
| 5271 | 5271 | {File "%TEMP%/utf-check-409-0-154-1.jnk" has 6 bytes. |
| @@ -5277,11 +5277,11 @@ | ||
| 5277 | 5277 | Has flag LOOK_LONE_CR: yes |
| 5278 | 5278 | Has flag LOOK_LF: no |
| 5279 | 5279 | Has flag LOOK_LONE_LF: no |
| 5280 | 5280 | Has flag LOOK_CRLF: no |
| 5281 | 5281 | Has flag LOOK_LONG: no |
| 5282 | -Has flag LOOK_INVALID: no | |
| 5282 | +Has flag LOOK_INVALID: yes | |
| 5283 | 5283 | Has flag LOOK_ODD: no |
| 5284 | 5284 | Has flag LOOK_SHORT: no} |
| 5285 | 5285 | |
| 5286 | 5286 | utf-check 410 utf-check-410-0-155-0.jnk \ |
| 5287 | 5287 | {File "%TEMP%/utf-check-410-0-155-0.jnk" has 5 bytes. |
| @@ -5293,11 +5293,11 @@ | ||
| 5293 | 5293 | Has flag LOOK_LONE_CR: no |
| 5294 | 5294 | Has flag LOOK_LF: yes |
| 5295 | 5295 | Has flag LOOK_LONE_LF: yes |
| 5296 | 5296 | Has flag LOOK_CRLF: no |
| 5297 | 5297 | Has flag LOOK_LONG: no |
| 5298 | -Has flag LOOK_INVALID: no | |
| 5298 | +Has flag LOOK_INVALID: yes | |
| 5299 | 5299 | Has flag LOOK_ODD: no |
| 5300 | 5300 | Has flag LOOK_SHORT: no} |
| 5301 | 5301 | |
| 5302 | 5302 | utf-check 411 utf-check-411-0-155-1.jnk \ |
| 5303 | 5303 | {File "%TEMP%/utf-check-411-0-155-1.jnk" has 6 bytes. |
| @@ -5309,11 +5309,11 @@ | ||
| 5309 | 5309 | Has flag LOOK_LONE_CR: no |
| 5310 | 5310 | Has flag LOOK_LF: yes |
| 5311 | 5311 | Has flag LOOK_LONE_LF: yes |
| 5312 | 5312 | Has flag LOOK_CRLF: no |
| 5313 | 5313 | Has flag LOOK_LONG: no |
| 5314 | -Has flag LOOK_INVALID: no | |
| 5314 | +Has flag LOOK_INVALID: yes | |
| 5315 | 5315 | Has flag LOOK_ODD: no |
| 5316 | 5316 | Has flag LOOK_SHORT: no} |
| 5317 | 5317 | |
| 5318 | 5318 | utf-check 412 utf-check-412-0-156-0.jnk \ |
| 5319 | 5319 | {File "%TEMP%/utf-check-412-0-156-0.jnk" has 6 bytes. |
| @@ -5325,11 +5325,11 @@ | ||
| 5325 | 5325 | Has flag LOOK_LONE_CR: no |
| 5326 | 5326 | Has flag LOOK_LF: yes |
| 5327 | 5327 | Has flag LOOK_LONE_LF: no |
| 5328 | 5328 | Has flag LOOK_CRLF: yes |
| 5329 | 5329 | Has flag LOOK_LONG: no |
| 5330 | -Has flag LOOK_INVALID: no | |
| 5330 | +Has flag LOOK_INVALID: yes | |
| 5331 | 5331 | Has flag LOOK_ODD: no |
| 5332 | 5332 | Has flag LOOK_SHORT: no} |
| 5333 | 5333 | |
| 5334 | 5334 | utf-check 413 utf-check-413-0-156-1.jnk \ |
| 5335 | 5335 | {File "%TEMP%/utf-check-413-0-156-1.jnk" has 7 bytes. |
| @@ -5341,11 +5341,11 @@ | ||
| 5341 | 5341 | Has flag LOOK_LONE_CR: no |
| 5342 | 5342 | Has flag LOOK_LF: yes |
| 5343 | 5343 | Has flag LOOK_LONE_LF: no |
| 5344 | 5344 | Has flag LOOK_CRLF: yes |
| 5345 | 5345 | Has flag LOOK_LONG: no |
| 5346 | -Has flag LOOK_INVALID: no | |
| 5346 | +Has flag LOOK_INVALID: yes | |
| 5347 | 5347 | Has flag LOOK_ODD: no |
| 5348 | 5348 | Has flag LOOK_SHORT: no} |
| 5349 | 5349 | |
| 5350 | 5350 | utf-check 414 utf-check-414-0-157-0.jnk \ |
| 5351 | 5351 | {File "%TEMP%/utf-check-414-0-157-0.jnk" has 3 bytes. |
| @@ -11021,11 +11021,11 @@ | ||
| 11021 | 11021 | Has flag LOOK_LONE_CR: no |
| 11022 | 11022 | Has flag LOOK_LF: no |
| 11023 | 11023 | Has flag LOOK_LONE_LF: no |
| 11024 | 11024 | Has flag LOOK_CRLF: no |
| 11025 | 11025 | Has flag LOOK_LONG: no |
| 11026 | -Has flag LOOK_INVALID: no | |
| 11026 | +Has flag LOOK_INVALID: yes | |
| 11027 | 11027 | Has flag LOOK_ODD: no |
| 11028 | 11028 | Has flag LOOK_SHORT: no} |
| 11029 | 11029 | |
| 11030 | 11030 | utf-check 769 utf-check-769-1-153-1.jnk \ |
| 11031 | 11031 | {File "%TEMP%/utf-check-769-1-153-1.jnk" has 9 bytes. |
| @@ -11037,11 +11037,11 @@ | ||
| 11037 | 11037 | Has flag LOOK_LONE_CR: no |
| 11038 | 11038 | Has flag LOOK_LF: no |
| 11039 | 11039 | Has flag LOOK_LONE_LF: no |
| 11040 | 11040 | Has flag LOOK_CRLF: no |
| 11041 | 11041 | Has flag LOOK_LONG: no |
| 11042 | -Has flag LOOK_INVALID: no | |
| 11042 | +Has flag LOOK_INVALID: yes | |
| 11043 | 11043 | Has flag LOOK_ODD: no |
| 11044 | 11044 | Has flag LOOK_SHORT: no} |
| 11045 | 11045 | |
| 11046 | 11046 | utf-check 770 utf-check-770-1-154-0.jnk \ |
| 11047 | 11047 | {File "%TEMP%/utf-check-770-1-154-0.jnk" has 8 bytes. |
| @@ -11053,11 +11053,11 @@ | ||
| 11053 | 11053 | Has flag LOOK_LONE_CR: yes |
| 11054 | 11054 | Has flag LOOK_LF: no |
| 11055 | 11055 | Has flag LOOK_LONE_LF: no |
| 11056 | 11056 | Has flag LOOK_CRLF: no |
| 11057 | 11057 | Has flag LOOK_LONG: no |
| 11058 | -Has flag LOOK_INVALID: no | |
| 11058 | +Has flag LOOK_INVALID: yes | |
| 11059 | 11059 | Has flag LOOK_ODD: no |
| 11060 | 11060 | Has flag LOOK_SHORT: no} |
| 11061 | 11061 | |
| 11062 | 11062 | utf-check 771 utf-check-771-1-154-1.jnk \ |
| 11063 | 11063 | {File "%TEMP%/utf-check-771-1-154-1.jnk" has 9 bytes. |
| @@ -11069,11 +11069,11 @@ | ||
| 11069 | 11069 | Has flag LOOK_LONE_CR: yes |
| 11070 | 11070 | Has flag LOOK_LF: no |
| 11071 | 11071 | Has flag LOOK_LONE_LF: no |
| 11072 | 11072 | Has flag LOOK_CRLF: no |
| 11073 | 11073 | Has flag LOOK_LONG: no |
| 11074 | -Has flag LOOK_INVALID: no | |
| 11074 | +Has flag LOOK_INVALID: yes | |
| 11075 | 11075 | Has flag LOOK_ODD: no |
| 11076 | 11076 | Has flag LOOK_SHORT: no} |
| 11077 | 11077 | |
| 11078 | 11078 | utf-check 772 utf-check-772-1-155-0.jnk \ |
| 11079 | 11079 | {File "%TEMP%/utf-check-772-1-155-0.jnk" has 8 bytes. |
| @@ -11085,11 +11085,11 @@ | ||
| 11085 | 11085 | Has flag LOOK_LONE_CR: no |
| 11086 | 11086 | Has flag LOOK_LF: yes |
| 11087 | 11087 | Has flag LOOK_LONE_LF: yes |
| 11088 | 11088 | Has flag LOOK_CRLF: no |
| 11089 | 11089 | Has flag LOOK_LONG: no |
| 11090 | -Has flag LOOK_INVALID: no | |
| 11090 | +Has flag LOOK_INVALID: yes | |
| 11091 | 11091 | Has flag LOOK_ODD: no |
| 11092 | 11092 | Has flag LOOK_SHORT: no} |
| 11093 | 11093 | |
| 11094 | 11094 | utf-check 773 utf-check-773-1-155-1.jnk \ |
| 11095 | 11095 | {File "%TEMP%/utf-check-773-1-155-1.jnk" has 9 bytes. |
| @@ -11101,11 +11101,11 @@ | ||
| 11101 | 11101 | Has flag LOOK_LONE_CR: no |
| 11102 | 11102 | Has flag LOOK_LF: yes |
| 11103 | 11103 | Has flag LOOK_LONE_LF: yes |
| 11104 | 11104 | Has flag LOOK_CRLF: no |
| 11105 | 11105 | Has flag LOOK_LONG: no |
| 11106 | -Has flag LOOK_INVALID: no | |
| 11106 | +Has flag LOOK_INVALID: yes | |
| 11107 | 11107 | Has flag LOOK_ODD: no |
| 11108 | 11108 | Has flag LOOK_SHORT: no} |
| 11109 | 11109 | |
| 11110 | 11110 | utf-check 774 utf-check-774-1-156-0.jnk \ |
| 11111 | 11111 | {File "%TEMP%/utf-check-774-1-156-0.jnk" has 9 bytes. |
| @@ -11117,11 +11117,11 @@ | ||
| 11117 | 11117 | Has flag LOOK_LONE_CR: no |
| 11118 | 11118 | Has flag LOOK_LF: yes |
| 11119 | 11119 | Has flag LOOK_LONE_LF: no |
| 11120 | 11120 | Has flag LOOK_CRLF: yes |
| 11121 | 11121 | Has flag LOOK_LONG: no |
| 11122 | -Has flag LOOK_INVALID: no | |
| 11122 | +Has flag LOOK_INVALID: yes | |
| 11123 | 11123 | Has flag LOOK_ODD: no |
| 11124 | 11124 | Has flag LOOK_SHORT: no} |
| 11125 | 11125 | |
| 11126 | 11126 | utf-check 775 utf-check-775-1-156-1.jnk \ |
| 11127 | 11127 | {File "%TEMP%/utf-check-775-1-156-1.jnk" has 10 bytes. |
| @@ -11133,11 +11133,11 @@ | ||
| 11133 | 11133 | Has flag LOOK_LONE_CR: no |
| 11134 | 11134 | Has flag LOOK_LF: yes |
| 11135 | 11135 | Has flag LOOK_LONE_LF: no |
| 11136 | 11136 | Has flag LOOK_CRLF: yes |
| 11137 | 11137 | Has flag LOOK_LONG: no |
| 11138 | -Has flag LOOK_INVALID: no | |
| 11138 | +Has flag LOOK_INVALID: yes | |
| 11139 | 11139 | Has flag LOOK_ODD: no |
| 11140 | 11140 | Has flag LOOK_SHORT: no} |
| 11141 | 11141 | |
| 11142 | 11142 | utf-check 776 utf-check-776-1-157-0.jnk \ |
| 11143 | 11143 | {File "%TEMP%/utf-check-776-1-157-0.jnk" has 6 bytes. |
| 11144 | 11144 |
| --- test/utf.test | |
| +++ test/utf.test | |
| @@ -5229,11 +5229,11 @@ | |
| 5229 | Has flag LOOK_LONE_CR: no |
| 5230 | Has flag LOOK_LF: no |
| 5231 | Has flag LOOK_LONE_LF: no |
| 5232 | Has flag LOOK_CRLF: no |
| 5233 | Has flag LOOK_LONG: no |
| 5234 | Has flag LOOK_INVALID: no |
| 5235 | Has flag LOOK_ODD: no |
| 5236 | Has flag LOOK_SHORT: no} |
| 5237 | |
| 5238 | utf-check 407 utf-check-407-0-153-1.jnk \ |
| 5239 | {File "%TEMP%/utf-check-407-0-153-1.jnk" has 6 bytes. |
| @@ -5245,11 +5245,11 @@ | |
| 5245 | Has flag LOOK_LONE_CR: no |
| 5246 | Has flag LOOK_LF: no |
| 5247 | Has flag LOOK_LONE_LF: no |
| 5248 | Has flag LOOK_CRLF: no |
| 5249 | Has flag LOOK_LONG: no |
| 5250 | Has flag LOOK_INVALID: no |
| 5251 | Has flag LOOK_ODD: no |
| 5252 | Has flag LOOK_SHORT: no} |
| 5253 | |
| 5254 | utf-check 408 utf-check-408-0-154-0.jnk \ |
| 5255 | {File "%TEMP%/utf-check-408-0-154-0.jnk" has 5 bytes. |
| @@ -5261,11 +5261,11 @@ | |
| 5261 | Has flag LOOK_LONE_CR: yes |
| 5262 | Has flag LOOK_LF: no |
| 5263 | Has flag LOOK_LONE_LF: no |
| 5264 | Has flag LOOK_CRLF: no |
| 5265 | Has flag LOOK_LONG: no |
| 5266 | Has flag LOOK_INVALID: no |
| 5267 | Has flag LOOK_ODD: no |
| 5268 | Has flag LOOK_SHORT: no} |
| 5269 | |
| 5270 | utf-check 409 utf-check-409-0-154-1.jnk \ |
| 5271 | {File "%TEMP%/utf-check-409-0-154-1.jnk" has 6 bytes. |
| @@ -5277,11 +5277,11 @@ | |
| 5277 | Has flag LOOK_LONE_CR: yes |
| 5278 | Has flag LOOK_LF: no |
| 5279 | Has flag LOOK_LONE_LF: no |
| 5280 | Has flag LOOK_CRLF: no |
| 5281 | Has flag LOOK_LONG: no |
| 5282 | Has flag LOOK_INVALID: no |
| 5283 | Has flag LOOK_ODD: no |
| 5284 | Has flag LOOK_SHORT: no} |
| 5285 | |
| 5286 | utf-check 410 utf-check-410-0-155-0.jnk \ |
| 5287 | {File "%TEMP%/utf-check-410-0-155-0.jnk" has 5 bytes. |
| @@ -5293,11 +5293,11 @@ | |
| 5293 | Has flag LOOK_LONE_CR: no |
| 5294 | Has flag LOOK_LF: yes |
| 5295 | Has flag LOOK_LONE_LF: yes |
| 5296 | Has flag LOOK_CRLF: no |
| 5297 | Has flag LOOK_LONG: no |
| 5298 | Has flag LOOK_INVALID: no |
| 5299 | Has flag LOOK_ODD: no |
| 5300 | Has flag LOOK_SHORT: no} |
| 5301 | |
| 5302 | utf-check 411 utf-check-411-0-155-1.jnk \ |
| 5303 | {File "%TEMP%/utf-check-411-0-155-1.jnk" has 6 bytes. |
| @@ -5309,11 +5309,11 @@ | |
| 5309 | Has flag LOOK_LONE_CR: no |
| 5310 | Has flag LOOK_LF: yes |
| 5311 | Has flag LOOK_LONE_LF: yes |
| 5312 | Has flag LOOK_CRLF: no |
| 5313 | Has flag LOOK_LONG: no |
| 5314 | Has flag LOOK_INVALID: no |
| 5315 | Has flag LOOK_ODD: no |
| 5316 | Has flag LOOK_SHORT: no} |
| 5317 | |
| 5318 | utf-check 412 utf-check-412-0-156-0.jnk \ |
| 5319 | {File "%TEMP%/utf-check-412-0-156-0.jnk" has 6 bytes. |
| @@ -5325,11 +5325,11 @@ | |
| 5325 | Has flag LOOK_LONE_CR: no |
| 5326 | Has flag LOOK_LF: yes |
| 5327 | Has flag LOOK_LONE_LF: no |
| 5328 | Has flag LOOK_CRLF: yes |
| 5329 | Has flag LOOK_LONG: no |
| 5330 | Has flag LOOK_INVALID: no |
| 5331 | Has flag LOOK_ODD: no |
| 5332 | Has flag LOOK_SHORT: no} |
| 5333 | |
| 5334 | utf-check 413 utf-check-413-0-156-1.jnk \ |
| 5335 | {File "%TEMP%/utf-check-413-0-156-1.jnk" has 7 bytes. |
| @@ -5341,11 +5341,11 @@ | |
| 5341 | Has flag LOOK_LONE_CR: no |
| 5342 | Has flag LOOK_LF: yes |
| 5343 | Has flag LOOK_LONE_LF: no |
| 5344 | Has flag LOOK_CRLF: yes |
| 5345 | Has flag LOOK_LONG: no |
| 5346 | Has flag LOOK_INVALID: no |
| 5347 | Has flag LOOK_ODD: no |
| 5348 | Has flag LOOK_SHORT: no} |
| 5349 | |
| 5350 | utf-check 414 utf-check-414-0-157-0.jnk \ |
| 5351 | {File "%TEMP%/utf-check-414-0-157-0.jnk" has 3 bytes. |
| @@ -11021,11 +11021,11 @@ | |
| 11021 | Has flag LOOK_LONE_CR: no |
| 11022 | Has flag LOOK_LF: no |
| 11023 | Has flag LOOK_LONE_LF: no |
| 11024 | Has flag LOOK_CRLF: no |
| 11025 | Has flag LOOK_LONG: no |
| 11026 | Has flag LOOK_INVALID: no |
| 11027 | Has flag LOOK_ODD: no |
| 11028 | Has flag LOOK_SHORT: no} |
| 11029 | |
| 11030 | utf-check 769 utf-check-769-1-153-1.jnk \ |
| 11031 | {File "%TEMP%/utf-check-769-1-153-1.jnk" has 9 bytes. |
| @@ -11037,11 +11037,11 @@ | |
| 11037 | Has flag LOOK_LONE_CR: no |
| 11038 | Has flag LOOK_LF: no |
| 11039 | Has flag LOOK_LONE_LF: no |
| 11040 | Has flag LOOK_CRLF: no |
| 11041 | Has flag LOOK_LONG: no |
| 11042 | Has flag LOOK_INVALID: no |
| 11043 | Has flag LOOK_ODD: no |
| 11044 | Has flag LOOK_SHORT: no} |
| 11045 | |
| 11046 | utf-check 770 utf-check-770-1-154-0.jnk \ |
| 11047 | {File "%TEMP%/utf-check-770-1-154-0.jnk" has 8 bytes. |
| @@ -11053,11 +11053,11 @@ | |
| 11053 | Has flag LOOK_LONE_CR: yes |
| 11054 | Has flag LOOK_LF: no |
| 11055 | Has flag LOOK_LONE_LF: no |
| 11056 | Has flag LOOK_CRLF: no |
| 11057 | Has flag LOOK_LONG: no |
| 11058 | Has flag LOOK_INVALID: no |
| 11059 | Has flag LOOK_ODD: no |
| 11060 | Has flag LOOK_SHORT: no} |
| 11061 | |
| 11062 | utf-check 771 utf-check-771-1-154-1.jnk \ |
| 11063 | {File "%TEMP%/utf-check-771-1-154-1.jnk" has 9 bytes. |
| @@ -11069,11 +11069,11 @@ | |
| 11069 | Has flag LOOK_LONE_CR: yes |
| 11070 | Has flag LOOK_LF: no |
| 11071 | Has flag LOOK_LONE_LF: no |
| 11072 | Has flag LOOK_CRLF: no |
| 11073 | Has flag LOOK_LONG: no |
| 11074 | Has flag LOOK_INVALID: no |
| 11075 | Has flag LOOK_ODD: no |
| 11076 | Has flag LOOK_SHORT: no} |
| 11077 | |
| 11078 | utf-check 772 utf-check-772-1-155-0.jnk \ |
| 11079 | {File "%TEMP%/utf-check-772-1-155-0.jnk" has 8 bytes. |
| @@ -11085,11 +11085,11 @@ | |
| 11085 | Has flag LOOK_LONE_CR: no |
| 11086 | Has flag LOOK_LF: yes |
| 11087 | Has flag LOOK_LONE_LF: yes |
| 11088 | Has flag LOOK_CRLF: no |
| 11089 | Has flag LOOK_LONG: no |
| 11090 | Has flag LOOK_INVALID: no |
| 11091 | Has flag LOOK_ODD: no |
| 11092 | Has flag LOOK_SHORT: no} |
| 11093 | |
| 11094 | utf-check 773 utf-check-773-1-155-1.jnk \ |
| 11095 | {File "%TEMP%/utf-check-773-1-155-1.jnk" has 9 bytes. |
| @@ -11101,11 +11101,11 @@ | |
| 11101 | Has flag LOOK_LONE_CR: no |
| 11102 | Has flag LOOK_LF: yes |
| 11103 | Has flag LOOK_LONE_LF: yes |
| 11104 | Has flag LOOK_CRLF: no |
| 11105 | Has flag LOOK_LONG: no |
| 11106 | Has flag LOOK_INVALID: no |
| 11107 | Has flag LOOK_ODD: no |
| 11108 | Has flag LOOK_SHORT: no} |
| 11109 | |
| 11110 | utf-check 774 utf-check-774-1-156-0.jnk \ |
| 11111 | {File "%TEMP%/utf-check-774-1-156-0.jnk" has 9 bytes. |
| @@ -11117,11 +11117,11 @@ | |
| 11117 | Has flag LOOK_LONE_CR: no |
| 11118 | Has flag LOOK_LF: yes |
| 11119 | Has flag LOOK_LONE_LF: no |
| 11120 | Has flag LOOK_CRLF: yes |
| 11121 | Has flag LOOK_LONG: no |
| 11122 | Has flag LOOK_INVALID: no |
| 11123 | Has flag LOOK_ODD: no |
| 11124 | Has flag LOOK_SHORT: no} |
| 11125 | |
| 11126 | utf-check 775 utf-check-775-1-156-1.jnk \ |
| 11127 | {File "%TEMP%/utf-check-775-1-156-1.jnk" has 10 bytes. |
| @@ -11133,11 +11133,11 @@ | |
| 11133 | Has flag LOOK_LONE_CR: no |
| 11134 | Has flag LOOK_LF: yes |
| 11135 | Has flag LOOK_LONE_LF: no |
| 11136 | Has flag LOOK_CRLF: yes |
| 11137 | Has flag LOOK_LONG: no |
| 11138 | Has flag LOOK_INVALID: no |
| 11139 | Has flag LOOK_ODD: no |
| 11140 | Has flag LOOK_SHORT: no} |
| 11141 | |
| 11142 | utf-check 776 utf-check-776-1-157-0.jnk \ |
| 11143 | {File "%TEMP%/utf-check-776-1-157-0.jnk" has 6 bytes. |
| 11144 |
| --- test/utf.test | |
| +++ test/utf.test | |
| @@ -5229,11 +5229,11 @@ | |
| 5229 | Has flag LOOK_LONE_CR: no |
| 5230 | Has flag LOOK_LF: no |
| 5231 | Has flag LOOK_LONE_LF: no |
| 5232 | Has flag LOOK_CRLF: no |
| 5233 | Has flag LOOK_LONG: no |
| 5234 | Has flag LOOK_INVALID: yes |
| 5235 | Has flag LOOK_ODD: no |
| 5236 | Has flag LOOK_SHORT: no} |
| 5237 | |
| 5238 | utf-check 407 utf-check-407-0-153-1.jnk \ |
| 5239 | {File "%TEMP%/utf-check-407-0-153-1.jnk" has 6 bytes. |
| @@ -5245,11 +5245,11 @@ | |
| 5245 | Has flag LOOK_LONE_CR: no |
| 5246 | Has flag LOOK_LF: no |
| 5247 | Has flag LOOK_LONE_LF: no |
| 5248 | Has flag LOOK_CRLF: no |
| 5249 | Has flag LOOK_LONG: no |
| 5250 | Has flag LOOK_INVALID: yes |
| 5251 | Has flag LOOK_ODD: no |
| 5252 | Has flag LOOK_SHORT: no} |
| 5253 | |
| 5254 | utf-check 408 utf-check-408-0-154-0.jnk \ |
| 5255 | {File "%TEMP%/utf-check-408-0-154-0.jnk" has 5 bytes. |
| @@ -5261,11 +5261,11 @@ | |
| 5261 | Has flag LOOK_LONE_CR: yes |
| 5262 | Has flag LOOK_LF: no |
| 5263 | Has flag LOOK_LONE_LF: no |
| 5264 | Has flag LOOK_CRLF: no |
| 5265 | Has flag LOOK_LONG: no |
| 5266 | Has flag LOOK_INVALID: yes |
| 5267 | Has flag LOOK_ODD: no |
| 5268 | Has flag LOOK_SHORT: no} |
| 5269 | |
| 5270 | utf-check 409 utf-check-409-0-154-1.jnk \ |
| 5271 | {File "%TEMP%/utf-check-409-0-154-1.jnk" has 6 bytes. |
| @@ -5277,11 +5277,11 @@ | |
| 5277 | Has flag LOOK_LONE_CR: yes |
| 5278 | Has flag LOOK_LF: no |
| 5279 | Has flag LOOK_LONE_LF: no |
| 5280 | Has flag LOOK_CRLF: no |
| 5281 | Has flag LOOK_LONG: no |
| 5282 | Has flag LOOK_INVALID: yes |
| 5283 | Has flag LOOK_ODD: no |
| 5284 | Has flag LOOK_SHORT: no} |
| 5285 | |
| 5286 | utf-check 410 utf-check-410-0-155-0.jnk \ |
| 5287 | {File "%TEMP%/utf-check-410-0-155-0.jnk" has 5 bytes. |
| @@ -5293,11 +5293,11 @@ | |
| 5293 | Has flag LOOK_LONE_CR: no |
| 5294 | Has flag LOOK_LF: yes |
| 5295 | Has flag LOOK_LONE_LF: yes |
| 5296 | Has flag LOOK_CRLF: no |
| 5297 | Has flag LOOK_LONG: no |
| 5298 | Has flag LOOK_INVALID: yes |
| 5299 | Has flag LOOK_ODD: no |
| 5300 | Has flag LOOK_SHORT: no} |
| 5301 | |
| 5302 | utf-check 411 utf-check-411-0-155-1.jnk \ |
| 5303 | {File "%TEMP%/utf-check-411-0-155-1.jnk" has 6 bytes. |
| @@ -5309,11 +5309,11 @@ | |
| 5309 | Has flag LOOK_LONE_CR: no |
| 5310 | Has flag LOOK_LF: yes |
| 5311 | Has flag LOOK_LONE_LF: yes |
| 5312 | Has flag LOOK_CRLF: no |
| 5313 | Has flag LOOK_LONG: no |
| 5314 | Has flag LOOK_INVALID: yes |
| 5315 | Has flag LOOK_ODD: no |
| 5316 | Has flag LOOK_SHORT: no} |
| 5317 | |
| 5318 | utf-check 412 utf-check-412-0-156-0.jnk \ |
| 5319 | {File "%TEMP%/utf-check-412-0-156-0.jnk" has 6 bytes. |
| @@ -5325,11 +5325,11 @@ | |
| 5325 | Has flag LOOK_LONE_CR: no |
| 5326 | Has flag LOOK_LF: yes |
| 5327 | Has flag LOOK_LONE_LF: no |
| 5328 | Has flag LOOK_CRLF: yes |
| 5329 | Has flag LOOK_LONG: no |
| 5330 | Has flag LOOK_INVALID: yes |
| 5331 | Has flag LOOK_ODD: no |
| 5332 | Has flag LOOK_SHORT: no} |
| 5333 | |
| 5334 | utf-check 413 utf-check-413-0-156-1.jnk \ |
| 5335 | {File "%TEMP%/utf-check-413-0-156-1.jnk" has 7 bytes. |
| @@ -5341,11 +5341,11 @@ | |
| 5341 | Has flag LOOK_LONE_CR: no |
| 5342 | Has flag LOOK_LF: yes |
| 5343 | Has flag LOOK_LONE_LF: no |
| 5344 | Has flag LOOK_CRLF: yes |
| 5345 | Has flag LOOK_LONG: no |
| 5346 | Has flag LOOK_INVALID: yes |
| 5347 | Has flag LOOK_ODD: no |
| 5348 | Has flag LOOK_SHORT: no} |
| 5349 | |
| 5350 | utf-check 414 utf-check-414-0-157-0.jnk \ |
| 5351 | {File "%TEMP%/utf-check-414-0-157-0.jnk" has 3 bytes. |
| @@ -11021,11 +11021,11 @@ | |
| 11021 | Has flag LOOK_LONE_CR: no |
| 11022 | Has flag LOOK_LF: no |
| 11023 | Has flag LOOK_LONE_LF: no |
| 11024 | Has flag LOOK_CRLF: no |
| 11025 | Has flag LOOK_LONG: no |
| 11026 | Has flag LOOK_INVALID: yes |
| 11027 | Has flag LOOK_ODD: no |
| 11028 | Has flag LOOK_SHORT: no} |
| 11029 | |
| 11030 | utf-check 769 utf-check-769-1-153-1.jnk \ |
| 11031 | {File "%TEMP%/utf-check-769-1-153-1.jnk" has 9 bytes. |
| @@ -11037,11 +11037,11 @@ | |
| 11037 | Has flag LOOK_LONE_CR: no |
| 11038 | Has flag LOOK_LF: no |
| 11039 | Has flag LOOK_LONE_LF: no |
| 11040 | Has flag LOOK_CRLF: no |
| 11041 | Has flag LOOK_LONG: no |
| 11042 | Has flag LOOK_INVALID: yes |
| 11043 | Has flag LOOK_ODD: no |
| 11044 | Has flag LOOK_SHORT: no} |
| 11045 | |
| 11046 | utf-check 770 utf-check-770-1-154-0.jnk \ |
| 11047 | {File "%TEMP%/utf-check-770-1-154-0.jnk" has 8 bytes. |
| @@ -11053,11 +11053,11 @@ | |
| 11053 | Has flag LOOK_LONE_CR: yes |
| 11054 | Has flag LOOK_LF: no |
| 11055 | Has flag LOOK_LONE_LF: no |
| 11056 | Has flag LOOK_CRLF: no |
| 11057 | Has flag LOOK_LONG: no |
| 11058 | Has flag LOOK_INVALID: yes |
| 11059 | Has flag LOOK_ODD: no |
| 11060 | Has flag LOOK_SHORT: no} |
| 11061 | |
| 11062 | utf-check 771 utf-check-771-1-154-1.jnk \ |
| 11063 | {File "%TEMP%/utf-check-771-1-154-1.jnk" has 9 bytes. |
| @@ -11069,11 +11069,11 @@ | |
| 11069 | Has flag LOOK_LONE_CR: yes |
| 11070 | Has flag LOOK_LF: no |
| 11071 | Has flag LOOK_LONE_LF: no |
| 11072 | Has flag LOOK_CRLF: no |
| 11073 | Has flag LOOK_LONG: no |
| 11074 | Has flag LOOK_INVALID: yes |
| 11075 | Has flag LOOK_ODD: no |
| 11076 | Has flag LOOK_SHORT: no} |
| 11077 | |
| 11078 | utf-check 772 utf-check-772-1-155-0.jnk \ |
| 11079 | {File "%TEMP%/utf-check-772-1-155-0.jnk" has 8 bytes. |
| @@ -11085,11 +11085,11 @@ | |
| 11085 | Has flag LOOK_LONE_CR: no |
| 11086 | Has flag LOOK_LF: yes |
| 11087 | Has flag LOOK_LONE_LF: yes |
| 11088 | Has flag LOOK_CRLF: no |
| 11089 | Has flag LOOK_LONG: no |
| 11090 | Has flag LOOK_INVALID: yes |
| 11091 | Has flag LOOK_ODD: no |
| 11092 | Has flag LOOK_SHORT: no} |
| 11093 | |
| 11094 | utf-check 773 utf-check-773-1-155-1.jnk \ |
| 11095 | {File "%TEMP%/utf-check-773-1-155-1.jnk" has 9 bytes. |
| @@ -11101,11 +11101,11 @@ | |
| 11101 | Has flag LOOK_LONE_CR: no |
| 11102 | Has flag LOOK_LF: yes |
| 11103 | Has flag LOOK_LONE_LF: yes |
| 11104 | Has flag LOOK_CRLF: no |
| 11105 | Has flag LOOK_LONG: no |
| 11106 | Has flag LOOK_INVALID: yes |
| 11107 | Has flag LOOK_ODD: no |
| 11108 | Has flag LOOK_SHORT: no} |
| 11109 | |
| 11110 | utf-check 774 utf-check-774-1-156-0.jnk \ |
| 11111 | {File "%TEMP%/utf-check-774-1-156-0.jnk" has 9 bytes. |
| @@ -11117,11 +11117,11 @@ | |
| 11117 | Has flag LOOK_LONE_CR: no |
| 11118 | Has flag LOOK_LF: yes |
| 11119 | Has flag LOOK_LONE_LF: no |
| 11120 | Has flag LOOK_CRLF: yes |
| 11121 | Has flag LOOK_LONG: no |
| 11122 | Has flag LOOK_INVALID: yes |
| 11123 | Has flag LOOK_ODD: no |
| 11124 | Has flag LOOK_SHORT: no} |
| 11125 | |
| 11126 | utf-check 775 utf-check-775-1-156-1.jnk \ |
| 11127 | {File "%TEMP%/utf-check-775-1-156-1.jnk" has 10 bytes. |
| @@ -11133,11 +11133,11 @@ | |
| 11133 | Has flag LOOK_LONE_CR: no |
| 11134 | Has flag LOOK_LF: yes |
| 11135 | Has flag LOOK_LONE_LF: no |
| 11136 | Has flag LOOK_CRLF: yes |
| 11137 | Has flag LOOK_LONG: no |
| 11138 | Has flag LOOK_INVALID: yes |
| 11139 | Has flag LOOK_ODD: no |
| 11140 | Has flag LOOK_SHORT: no} |
| 11141 | |
| 11142 | utf-check 776 utf-check-776-1-157-0.jnk \ |
| 11143 | {File "%TEMP%/utf-check-776-1-157-0.jnk" has 6 bytes. |
| 11144 |