Closed
Bug 128587
Opened 23 years ago
Closed 23 years ago
EUC-KR decoder : a bug in 8byte seq. rep. of Hangul syllables
Categories
(Core :: Internationalization, defect)
Core
Internationalization
Tracking
()
CLOSED
FIXED
mozilla1.0
People
(Reporter: jshin1987, Assigned: jshin1987)
References
()
Details
(Keywords: intl)
Attachments
(1 file)
596 bytes,
patch
|
tetsuroy
:
review+
alecf
:
superreview+
scc
:
approval+
|
Details | Diff | Splinter Review |
There's a little typo (seemingly introduced about two years ago) in uScanDecomposedHangulCommon() in intl/uconv/src/uscan.c. Because of this typo, the final consonants of all Hangul syllables represented with 8byte sequence are turned into the initial consonants of corresponding syllables. Somehow I overlooked it and didn't notice the problem while working on bug 88944. I'm gonna attach my one line patch.
Assignee | ||
Comment 1•23 years ago
|
||
I think this is simple enough to go in for 0.9.9, but it's all right to put this in a little later.
Updated•23 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 2•23 years ago
|
||
Roy, Can you review the patch? This is a very simple patch to fix a typo. After your review, I'll ask for sr.
Status: NEW → ASSIGNED
Assignee | ||
Updated•23 years ago
|
Target Milestone: --- → mozilla1.0
Comment 3•23 years ago
|
||
Comment on attachment 72220 [details] [diff] [review] patch I really don't understand the code and the code is very scarely; but I trust you are familiar with the code. I'll give /r=yokoyama and thank you for catching the typo.
Attachment #72220 -
Flags: review+
Assignee | ||
Comment 4•23 years ago
|
||
Roy, thanks a lot for giving my patch a review and trusting me. I'm sorry for having asked you for a 'blank check' :-). Here's the belated explanation of what that part of the code does in case super-reviewers want it. KS X 1001 annotation 3.3 specifies that 8822 Hangul syllables not listed in precomposed forms in KS X 1001 (only 2350 of them are listed) be represented with 8byte sequence that begins with HANGUL Filler ( 0xA4 0xD4 in EUC-KR encoding, 0x24 0x54 in ISO-2022-KR encoding). HANGUL Filler should be followed by three pairs of octets. The first octet of each pair should be 0xA4 in EUC-KR encoding (0x24 in ISO-2022-KR encoding) and the second octet of each pair represent leading consonant, medial vowel and trailing consonant, respectively. What uScanDecomposedHangulCommon() does is - check if *in buffer contains enough number of bytes (8 or more) - check if it begins with HANGUL FILLER '0xA4 0xD4' (or 0x24 0x54) depending on 'mask' (in[0], in[1]) - check if the following three pairs of octets have 0xA4 (or 0x24) in the first octet ( in[2], in[4],in[6] ) - map the second byte of each pair ( in[3], in[5], in[7]) to indices for leading consonant, medial vowel and trailing consonant using lMap and tMap (in case of medial vowel, the mapping is just linear without a gap so that no mapping table is necessary.: line 811) - LIndex, VIndex, and TIndex are used to convert 8byte seq. representation of Hangul syllables to Unicode code point and store the result in the output buffer *out. (line 838 - 840) In line 833, when calculating TIndex, in[3] (the second byte in the first pair of octet following HANGUL FILLER) was used instead of in[7] (the second byte in the third pair of octet following HANGUL FILLER). My patch fixes this typo. Now I'll ask for sr.
Comment 5•23 years ago
|
||
Comment on attachment 72220 [details] [diff] [review] patch well, I'm going to base this sr= on what looks like a very extensive analysis of the problem :) sr=alecf
Attachment #72220 -
Flags: superreview+
Comment 6•23 years ago
|
||
Comment on attachment 72220 [details] [diff] [review] patch a=scc
Attachment #72220 -
Flags: approval+
Assignee | ||
Comment 7•23 years ago
|
||
fix checked in
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 8•23 years ago
|
||
verified with 2002-03-25 trunk build closing now..
Status: RESOLVED → CLOSED
You need to log in
before you can comment on or make changes to this bug.
Description
•