On Wed, Jun 09 2010, Eli Zaretskii wrote:
492 char *val = SDATA (Fstring_make_unibyte (object));
Fstring_make_unibyte is wrong here.
Most likely, if the D-Bus specification mandates UTF-8, the better thing
to do would be either to encode using utf-8, or to take advantage of the
fact that Emacs already uses utf-8 internally and pass just SDATA (object).
According to D-Bus spec[1]:
STRING
UTF-8 string (must be valid UTF-8). Must be nul terminated and
contain no other nul bytes.
Using unencoded SDATA would be wrong with eight-bit characters (aka
raw bytes). I'd suggest to encode, to be on the safe side.
Any hint on how to do that ?