1 2 #include <picolibc.h> 3 4 #ifdef _FVWRITE_IN_STREAMIO 5 6 #include <stdio.h> 7 #include <wchar.h> 8 #include "fvwrite.h" 9 #include "local.h" 10 11 int __sswprint(FILE * fp,register struct __suio * uio)12__sswprint ( 13 FILE *fp, 14 register struct __suio *uio) 15 { 16 register struct __siov *iov = uio->uio_iov; 17 register size_t len; 18 int ret = 0; 19 20 while (uio->uio_resid > 0 && uio->uio_iovcnt-- > 0) { 21 if ((len = iov->iov_len) > 0) { 22 if (__ssputs (fp, iov->iov_base, 23 len * sizeof (wchar_t)) == EOF) { 24 ret = -1; 25 break; 26 } 27 uio->uio_resid -= len; /* pretend we copied all */ 28 } 29 iov++; 30 } 31 uio->uio_resid = 0; 32 uio->uio_iovcnt = 0; 33 return ret; 34 } 35 36 #endif 37