From: Alan Humpherys <alangh@us...> - 2003-03-14 18:23:43
I need your help and wisdom here!
As I went through the process of making changes for MessageItem, I
noticed a large number of inconsistencies in how Fire treats strings
coming from the various services. The particular problems have to do
with strings such as:
supplementary messages (Invitation Text, etc)
Most of the libraries treat these as char* items, so we have the job of
converting them to and from NSStrings and char*.
In order to make this conversion happen, it is necessary to specify an
encoding. Currently our various CommunicationControllers and CFunction
routines are using a combination of either CString or UTF8string to
make this conversion happen.
Now for the bad news:
1) CString can use different encodings based upon the locale of the
installed version of OSX, so the conversion will be different for some
2) CString and UTF8 string are used inconsistently. For example, some
calls treat usernames as UTF8, and others use CString, within the same
The good news:
MessageItem deals properly with the encoding/decoding for the message
payload in the strings, so that should not be a problem.
I propose that we take a 3 step process to fix this problem.
1) Observe the behavior of the official clients to determine the
encoding used for these ancillary strings.
2) Change the service's treatment of strings to match the official
3) Not use "CString" encoding/decoding functions because they are not
consistent across the world. Instead, use the appropriate encoding
directly. (for example, most programmers assume CString is going to
mean ASCII or ISOLatin1)
How can you help?
I am willing to make the changes in steps 2 and 3 above, but I could
use this group's help in determining what the proper encoding is for
these items. (Step 1 in the proposal). If any of you have insights
into this, please let me know!