[cairo] [PATCH] script: More compatible with C89 and VC++.

Bill Spitzak spitzak at gmail.com
Thu Jun 24 17:30:06 PDT 2010



Tor Lillqvist wrote:
>> You do not need to
>> translate multibyte characters in order to locate '/' and ':' and '\\'
> 
> The so-called double-byte code pages used in East Asian Windows
> localisations have characters that use two bytes of which the trailing
> one might be '/' or '\\' .

True but is anybody using this any more?

> So one indeed needs to take multibyte characters into consideration
> when scanning a multibyte string for directory separators. Either by
> converting the string to wide characters (UTF-16), or by using
> multi-byte-aware API like _mbschr(), _mbsnextc(), _mbsinc().

I would do the one-character-at-a-time api instead of allocating a 
buffer. This will allow you to skip errors in the encoding, it is 
probably best to treat errors as the individual bytes unchanged.

>> Translation to w_char and back is lossy so this is not a good idea!
> 
> If you start with a multibyte string, it can be translated to a wide
> string and back without loss.

Not if the multibyte string contains an encoding error!


More information about the cairo mailing list