[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