X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/8f6c56a50524aa785f7e596d52dddfb331e18961..c18c124eaa464aaaa5549e99e5a70fc9cbb50944:/bsd/kern/tty_subr.c diff --git a/bsd/kern/tty_subr.c b/bsd/kern/tty_subr.c index f10937657..89bc09fe0 100644 --- a/bsd/kern/tty_subr.c +++ b/bsd/kern/tty_subr.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -54,7 +54,6 @@ * */ -#ifdef NeXT /* * We use the NetBSD based clist system, it is much more efficient than the * old style clist stuff used by free bsd. @@ -66,7 +65,6 @@ #include #include -#include /* * At compile time, choose: @@ -103,12 +101,8 @@ cinit(void) * of the specified length, with/without quoting support. */ int -clalloc(clp, size, quot) - struct clist *clp; - int size; - int quot; +clalloc(struct clist *clp, int size, int quot) { - MALLOC_ZONE(clp->c_cs, u_char *, size, M_TTYS, M_WAITOK); if (!clp->c_cs) return (-1); @@ -132,8 +126,7 @@ clalloc(clp, size, quot) } void -clfree(clp) - struct clist *clp; +clfree(struct clist *clp) { if(clp->c_cs) FREE_ZONE(clp->c_cs, clp->c_cn, M_TTYS); @@ -147,13 +140,10 @@ clfree(clp) * Get a character from a clist. */ int -getc(clp) - struct clist *clp; +getc(struct clist *clp) { - register int c = -1; - int s; + int c = -1; - s = spltty(); if (clp->c_cc == 0) goto out; @@ -172,7 +162,6 @@ getc(clp) if (--clp->c_cc == 0) clp->c_cf = clp->c_cl = (u_char *)0; out: - splx(s); return c; } @@ -181,16 +170,11 @@ out: * Return number of bytes moved. */ int -q_to_b(clp, cp, count) - struct clist *clp; - u_char *cp; - int count; +q_to_b(struct clist *clp, u_char *cp, int count) { - register int cc; + int cc; u_char *p = cp; - int s; - s = spltty(); /* optimize this while loop */ while (count > 0 && clp->c_cc > 0) { cc = clp->c_cl - clp->c_cf; @@ -208,7 +192,6 @@ q_to_b(clp, cp, count) } if (clp->c_cc == 0) clp->c_cf = clp->c_cl = (u_char *)0; - splx(s); return p - cp; } @@ -217,16 +200,12 @@ q_to_b(clp, cp, count) * Stop counting if flag&character is non-null. */ int -ndqb(clp, flag) - struct clist *clp; - int flag; +ndqb(struct clist *clp, int flag) { int count = 0; register int i; register int cc; - int s; - s = spltty(); if ((cc = clp->c_cc) == 0) goto out; @@ -253,7 +232,6 @@ ndqb(clp, flag) } } out: - splx(s); return count; } @@ -261,18 +239,14 @@ out: * Flush count bytes from clist. */ void -ndflush(clp, count) - struct clist *clp; - int count; +ndflush(struct clist *clp, int count) { - register int cc; - int s; + int cc; - s = spltty(); if (count == clp->c_cc) { clp->c_cc = 0; clp->c_cf = clp->c_cl = (u_char *)0; - goto out; + return; } /* optimize this while loop */ while (count > 0 && clp->c_cc > 0) { @@ -289,22 +263,16 @@ ndflush(clp, count) } if (clp->c_cc == 0) clp->c_cf = clp->c_cl = (u_char *)0; -out: - splx(s); } /* * Put a character into the output queue. */ int -putc(c, clp) - int c; - struct clist *clp; +putc(int c, struct clist *clp) { register int i; - int s; - s = spltty(); if (clp->c_cc == 0) { if (!clp->c_cs) { #if DIAGNOSTIC @@ -312,7 +280,6 @@ putc(c, clp) #endif if(clalloc(clp, 1024, 1)) { out: - splx(s); return -1; } } @@ -339,7 +306,6 @@ out: clp->c_cl++; if (clp->c_cl == clp->c_ce) clp->c_cl = clp->c_cs; - splx(s); return 0; } @@ -374,7 +340,9 @@ clrbits(u_char *cp, int off, int len) cp[sby++] &= mask; mask = (1<c_cc == 0) { if (!clp->c_cs) { @@ -435,7 +401,6 @@ b_to_q(const u_char *cp, int count, struct clist *clp) clp->c_cl = clp->c_cs; } out: - splx(s); return count; } @@ -450,12 +415,8 @@ static int cc; * masked. */ u_char * -nextc(clp, cp, c) - struct clist *clp; - register u_char *cp; - int *c; +nextc(struct clist *clp, u_char *cp, int *c) { - if (clp->c_cf == cp) { /* * First time initialization. @@ -492,11 +453,9 @@ nextc(clp, cp, c) * *c is set to the NEXT character */ u_char * -firstc(clp, c) - struct clist *clp; - int *c; +firstc(struct clist *clp, int *c) { - register u_char *cp; + u_char *cp; cc = clp->c_cc; if (cc == 0) @@ -519,13 +478,10 @@ firstc(clp, c) * Remove the last character in the clist and return it. */ int -unputc(clp) - struct clist *clp; +unputc(struct clist *clp) { unsigned int c = -1; - int s; - s = spltty(); if (clp->c_cc == 0) goto out; @@ -548,7 +504,6 @@ unputc(clp) if (clp->c_cc == 0) clp->c_cf = clp->c_cl = (u_char *)0; out: - splx(s); return c; } @@ -556,13 +511,10 @@ out: * Put the chars in the from queue on the end of the to queue. */ void -catq(from, to) - struct clist *from, *to; +catq(struct clist *from, struct clist *to) { int c; while ((c = getc(from)) != -1) putc(c, to); } - -#endif /* NeXT */