diff options
Diffstat (limited to 'sys/netncp')
-rw-r--r-- | sys/netncp/ncp_rq.c | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/sys/netncp/ncp_rq.c b/sys/netncp/ncp_rq.c index e661f5e..dacdee0 100644 --- a/sys/netncp/ncp_rq.c +++ b/sys/netncp/ncp_rq.c @@ -46,8 +46,6 @@ #include <netncp/ncp_ncp.h> #include <netncp/ncp_nls.h> -static struct mbuf* m_getm(struct mbuf *top, int len); - int ncp_rq_head(struct ncp_rq *rqp, u_int32_t ptype, u_int8_t fn,struct proc *p, struct ucred *cred) @@ -98,29 +96,6 @@ ncp_rq_done(struct ncp_rq *rqp) { return (0); } -static struct mbuf* -m_getm(struct mbuf *top, int len) { - int rest = len, mlen; - struct mbuf *m=0,*mp; - - mp = top; - while (rest > 0) { -/* NCPSDEBUG("%d\n",rest);*/ - m = m_get(M_TRYWAIT, MT_DATA); - if (rest > MINCLSIZE) { - MCLGET(m,M_TRYWAIT); - mlen = ( (m->m_flags & M_EXT) == 0) ? MLEN : MCLBYTES; - } else { - mlen = MLEN; - } - m->m_len = 0/*min(mlen,rest)*/; - mp->m_next = m; - mp = m; - rest -= mlen; - } - return top; -} - /* * Routines to fill the request */ @@ -182,7 +157,7 @@ ncp_rq_pathstring(struct ncp_rq *rqp, int size, char *name, struct ncp_nlstables m->m_len += cplen; } if (size) { - m_getm(m, size); + m = m_getm(m, size, MT_DATA, M_TRYWAIT); while (size > 0){ m = m->m_next; cplen = min(size, M_TRAILINGSPACE(m)); @@ -215,7 +190,7 @@ ncp_rq_putanymem(struct ncp_rq *rqp, caddr_t source, int size, int type) { m->m_len += cplen; } if (size) { - m_getm(m, size); + m = m_getm(m, size, MT_DATA, M_TRYWAIT); while (size > 0){ m = m->m_next; cplen = min(size, M_TRAILINGSPACE(m)); |