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