#include #ifdef _FVWRITE_IN_STREAMIO #include #include #include #include "fvwrite.h" /* * Flush out all the vectors defined by the given uio, * then reset it so that it can be reused. */ int __swprint_r (struct _reent *ptr, FILE *fp, register struct __suio *uio) { register int err = 0; struct __siov *iov; wchar_t *p; int i, len; if (uio->uio_resid == 0) { uio->uio_iovcnt = 0; return (0); } iov = uio->uio_iov; for (; uio->uio_resid != 0; uio->uio_resid -= len, iov++) { p = (wchar_t *) iov->iov_base; len = iov->iov_len; for (i = 0; i < len; i++) { if (_fputwc_r (ptr, p[i], fp) == WEOF) { err = -1; goto out; } } } out: uio->uio_resid = 0; uio->uio_iovcnt = 0; return (err); } #endif