SCCS-vsn: sys/kern/subr_xxx.c 6.2
SCCS-vsn: sys/kern/tty.c 6.2
-/* subr_xxx.c 6.1 83/07/29 */
+/* subr_xxx.c 6.2 83/09/09 */
#include "../machine/pte.h"
#include "../machine/pte.h"
-
-/*
- * 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);
-}
-/* tty.c 6.1 83/07/29 */
+/* tty.c 6.2 83/09/09 */
#include "../machine/reg.h"
#include "../machine/reg.h"
- while (!error && tp->t_rawq.c_cc && uio->uio_iovcnt)
- error = passuc(getc(&tp->t_rawq), uio);
+ while (!error && tp->t_rawq.c_cc && uio->uio_resid)
+ error = ureadc(getc(&tp->t_rawq), uio);
/*
* Give user character.
*/
/*
* Give user character.
*/
- error = passuc(c & 0177, uio);
+ error = ureadc(c & 0177, uio);
- if (uio->uio_iovcnt == 0)
+ if (uio->uio_resid == 0)
break;
/*
* In cooked mode check for a "break character"
break;
/*
* In cooked mode check for a "break character"