1 2 #include <picolibc.h> 3 4 #ifdef _FVWRITE_IN_STREAMIO 5 6 #include <stdio.h> 7 #include "fvwrite.h" 8 9 extern int __ssputs (FILE *fp, const char *buf, 10 size_t len); 11 12 int __ssprint(FILE * fp,register struct __suio * uio)13__ssprint ( 14 FILE *fp, 15 register struct __suio *uio) 16 { 17 register struct __siov *iov = uio->uio_iov; 18 register size_t len; 19 int ret = 0; 20 21 while (uio->uio_resid > 0 && uio->uio_iovcnt-- > 0) { 22 if ((len = iov->iov_len) > 0) { 23 if (__ssputs (fp, iov->iov_base, len) == EOF) { 24 ret = EOF; 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