diff options
author | Robert S. French <rfrench@mit.edu> | 1988-06-15 12:55:05 +0000 |
---|---|---|
committer | Robert S. French <rfrench@mit.edu> | 1988-06-15 12:55:05 +0000 |
commit | ddd9009109578d25cced7c894590dea07e3005a0 (patch) | |
tree | 759bb7fb3ed36c52040ae37d4d8e46561c76d247 /lib/ZRecvPkt.c | |
parent | 8954e484c2f8654993f8570558dab76218861ecd (diff) |
For John
Diffstat (limited to 'lib/ZRecvPkt.c')
-rw-r--r-- | lib/ZRecvPkt.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/lib/ZRecvPkt.c b/lib/ZRecvPkt.c index 33a48c0..03bf070 100644 --- a/lib/ZRecvPkt.c +++ b/lib/ZRecvPkt.c @@ -25,24 +25,17 @@ Code_t ZReceivePacket(buffer, ret_len, from) int *ret_len; struct sockaddr_in *from; { - int retval; + Code_t retval; struct _Z_InputQ *nextq; - if (ZGetFD() < 0) - return (ZERR_NOPORT); - - if (ZQLength()) { - if ((retval = Z_ReadEnqueue()) != ZERR_NONE) - return (retval); - } - else { - if ((retval = Z_ReadWait()) != ZERR_NONE) - return (retval); - } + if ((retval = Z_WaitForComplete()) != ZERR_NONE) + return (retval); nextq = (struct _Z_InputQ *) Z_GetFirstComplete(); *ret_len = nextq->packet_len; + if (*ret_len > Z_MAXPKTLEN) + return (ZERR_PKTLEN); bcopy(nextq->packet, buffer, *ret_len); |