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