[Python-Dev] RE: [Patches] [Patch #100745] Fix PR #384, fixes UTF-8 en/decode
Bill Tutt
rassilon@list.org
Thu, 6 Jul 2000 19:15:01 -0700 (PDT)
On Thu, 6 Jul 2000, Tim Peters wrote:
> [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.
>
I've updated both of these patches on SF.
Comments welcome,
Bill