comparison lisp/international/utf-8.el @ 50207:b49563831bd2

(ccl-decode-mule-utf-8): Fix a bug of invalid 5 to 6 bytes sequence.
author Kenichi Handa <handa@m17n.org>
date Wed, 19 Mar 2003 23:34:36 +0000
parents 65bb5afb37ef
children f49a20cb84ed
comparison
equal deleted inserted replaced
50206:b453fa770ef2 50207:b49563831bd2
477 (if (r3 < #x80) ; invalid byte 477 (if (r3 < #x80) ; invalid byte
478 (write r3) 478 (write r3)
479 (write-multibyte-character r5 r3)) 479 (write-multibyte-character r5 r3))
480 (write-multibyte-character r6 r3)) 480 (write-multibyte-character r6 r3))
481 (if (r0 >= #xf8) ; 5- or 6-byte encoding 481 (if (r0 >= #xf8) ; 5- or 6-byte encoding
482 ((read r1) 482 ((r0 = -1)
483 (if (r1 < #xa0) 483 (read r0)
484 (if (r1 < #x80) ; invalid byte 484 (if (r0 < #xa0)
485 (write r1) 485 (if (r0 < #x80) ; invalid byte
486 (write-multibyte-character r5 r1)) 486 (write r0)
487 (write-multibyte-character r6 r1)) 487 (write-multibyte-character r5 r0))
488 (write-multibyte-character r6 r0))
488 (if (r0 >= #xfc) ; 6-byte 489 (if (r0 >= #xfc) ; 6-byte
489 ((read r1) 490 ((r0 = -1)
490 (if (r1 < #xa0) 491 (read r0)
491 (if (r1 < #x80) ; invalid byte 492 (if (r0 < #xa0)
492 (write r1) 493 (if (r0 < #x80) ; invalid byte
493 (write-multibyte-character r5 r1)) 494 (write r0)
494 (write-multibyte-character r6 r1))))))) 495 (write-multibyte-character r5 r0))
496 (write-multibyte-character r6 r0)))))))
495 ;; else invalid byte >= #xfe 497 ;; else invalid byte >= #xfe
496 (write-multibyte-character r6 r0)))))) 498 (write-multibyte-character r6 r0))))))
497 (repeat))) 499 (repeat)))
498 500
499 ;; At EOF... 501 ;; At EOF...