I'm not quite sure of the problem, but I think you ought to use
strlen() there instead of -length, or else your UTF-8 string will
be cut short if it has non-ASCII characters in it.
Thanks for the tip. I replaced [serviceName length] with
strlen([serviceName UTF8String]). The code in question, however, is
still behaving differently on i386 and ppc.