Corinna Vinschen writes: > Given all chars are sizeof(wchar_t), how's the buffer ever going to > become unaligned? It places the wchar_t at the end of _ubuf, which is 3 bytes long, making it unaligned: fp->_p = &fp->_ubuf[sizeof (fp->_ubuf) - sizeof (wchar_t)]; -- -keith