-
-/*
- * Pass back c to the user.
- */
-passuc(c, uio)
- register c;
- struct uio *uio;
-{
- register struct iovec *iov = uio->uio_iov;
-
- switch (uio->uio_segflg) {
-
- case 0:
- if (subyte(iov->iov_base, c) < 0)
- goto fault;
- break;
-
- case 1:
- *iov->iov_base = c;
- break;
-
- case 2:
- if (suibyte(iov->iov_base, c) < 0)
- goto fault;
- break;
- }
- iov->iov_base++;
- iov->iov_len--;
- uio->uio_resid--;
- uio->uio_offset++;
- if (iov->iov_len <= 0) {
- uio->uio_iov++;
- uio->uio_iovcnt--;
- }
- return (0);
-fault:
- return (EFAULT);
-}