[Python-Dev] RE: [Patches] [Patch #100745] Fix PR #384, fixes UTF-8 en/decode
Tim Peters
tim_one@email.msn.com
Thu, 6 Jul 2000 17:55:10 -0400
[Bill Tutt]
> How about this:
> /*
> * Use this typedef when you need to represent a UTF-16 surrogate pair
> * as single unsigned integer.
> */
> #if SIZEOF_INT >= 4
> typedef unsigned int Py_UCS4;
> #else
> #if SIZEOF_LONG >= 4
> typedef unsigned long Py_UCS4;
> #else
> #error "can't find integral type that can contain 32 bits"
> #endif /* SIZEOF_LONG */
> #endif /* SIZEOF_INT */
Much better! In the future (when the infrastructure is in place), I expect
we'll replace the #if stuff here with
typedef Py_uint_least32_t UCS4;
instead (where Py_uint_least32_t is defined in pyfort.h, and uint_least32_t
is the C9X spelling of the true requirement).
BTW, why not use #elif instead of nested #ifs? #elif is clearer and
shorter.