Closed Bug 201182 Opened 21 years ago Closed 13 years ago

native uconv uses wrong charset name

Categories

(Core :: Internationalization, defect)

x86
Linux
defect
Not set
major

Tracking

()

RESOLVED WONTFIX
mozilla1.4beta

People

(Reporter: dougt, Unassigned)

References

Details

Attachments

(1 file)

Fallout from bug 200049.  We are using the wrong charset name when creating the
unicode encoder/decoder.  Instead of "UCS-2" we should be using "UTF-16".
Target Milestone: --- → mozilla1.4beta
I'll upload a patch based on my investigation to fix bug 206811
This is not the best patch, but it should work as well as what we have now in
most cases. One exception is when the UTF-16 module of glibc is not installed.
Another case is when a binary compiled with a recent glibc (with
UTF-16LE/UTF-16BE) is run where an old glibc(without UTF-16LE/BE) is used. 

As I noted in the comment, a better way is to add a run-time detection code to
xpcom.
Comment on attachment 127855 [details] [diff] [review]
a tentative patch 

>Index: intl/uconv/src/nsCharsetConverterManager.cpp

>+#if __GLIBC_PREREQ(2, 3)
>+#define UTF16_NAME UTF-16LE

  Ooops. Needless to say, I have to quote UTF-16LE (and other values).

#define UTF16_NAME "UTF-16LE"
Comment on attachment 127855 [details] [diff] [review]
a tentative patch 


>+#ifdef MOZ_USE_NATIVE_UCONV
>+#ifdef __GLIBC__
.......
>+#else 
>+#define UTF16_NAME UCS-2
>+#endif

Another #endif is needed here.
Severity: blocker → major
mass reassigning to nobody.
Assignee: dougt → nobody
QA Contact: amyy → i18n
Depends on: 644801
Native uconv is gone.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: