[PATCH]: Implement fwide (was Re: swprintf() and friends?)

Corinna Vinschen vinschen@redhat.com
Mon Nov 17 22:17:00 GMT 2008

On Nov  7 15:11, Corinna Vinschen wrote:
> As a starting point I removed the __SMOD flag and created two new flags
> __SORD and __SWID, the latter for _flags2 and using the same bit mask
> as __SORD.  I also created two functions fwide and _fwide_r.  Other than
> that the new orientation bits are not used so far.  We can build the other
> missing functionality slowly around this.

Scratch that patch.  I guess it's better to restart and use the 
OpenBSD implementation as basis for this.  The _flags2 would be
replaced by a pointer _wcio to a structure wchar_io_data

  struct wchar_io_data {
    mbstate_t wcio_mbstate_in;
    mbstate_t wcio_mbstate_out;

    wchar_t wcio_ungetwc_buf[WCIO_UNGETWC_BUFSIZE];
    size_t wcio_ungetwc_inbuf;

    int wcio_mode; /* orientation */

Would that be ok for newlib, Jeff?


Corinna Vinschen
Cygwin Project Co-Leader
Red Hat

More information about the Newlib mailing list