summaryrefslogtreecommitdiff
path: root/sunrpc/xdr_rec.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-01-23 08:54:19 +0000
committerUlrich Drepper <drepper@redhat.com>2000-01-23 08:54:19 +0000
commit4974d2b285421f27972879d4edd37582f464c809 (patch)
treece7a39e1bf6ed75ef41250dc8f6a92f151e74678 /sunrpc/xdr_rec.c
parentbd32e4a68782e7e6fe5a4f18f2d52ca347591c07 (diff)
Update.
2000-01-23 Mark Kettenis <kettenis@gnu.org> * inet/rexec.c (rexec_af): Use SA_LEN instead of __libc_sa_len. 2000-01-22 Thorsten Kukuk <kukuk@suse.de> * sunrpc/xdr_rec.c: Don't set frag_sent if no more data, fixes part 2 of bug 1549. * sunrpc/rpc_des.h: Remove unused defines. 2000-01-22 Mark Kettenis <kettenis@gnu.org> * intl/Makefile ($(objpfx)msgs.h): Do $(make-target-directory) first. 2000-01-22 Thorsten Kukuk <kukuk@suse.de> * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove sys/io.h. * sysdeps/unix/sysv/linux/alpha/Makefile: Add sys/io.h. * sysdeps/unix/sysv/linux/arm/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. * sysdeps/unix/sysv/linux/sys/io.h: Move from here ... * sysdeps/unix/sysv/linux/i386/sys/io.h: ... to here, add inb, outb and other inline functions for port access. * sysdeps/unix/sysv/linux/alpha/sys/io.h: Add prototypes for port access functions. 2000-01-23 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv_simple.c: Fix two problems in UTF-8 decoder. Patch by Bruno Haibe <haible@ilog.fr>.
Diffstat (limited to 'sunrpc/xdr_rec.c')
-rw-r--r--sunrpc/xdr_rec.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c
index 101f8c85ce..675eaacc15 100644
--- a/sunrpc/xdr_rec.c
+++ b/sunrpc/xdr_rec.c
@@ -66,8 +66,7 @@ static void xdrrec_destroy (XDR *);
static bool_t xdrrec_getint32 (XDR *, int32_t *);
static bool_t xdrrec_putint32 (XDR *, const int32_t *);
-static const struct xdr_ops xdrrec_ops =
-{
+static const struct xdr_ops xdrrec_ops = {
xdrrec_getlong,
xdrrec_putlong,
xdrrec_getbytes,
@@ -289,7 +288,7 @@ xdrrec_putbytes (XDR *xdrs, const char *addr, u_int len)
rstrm->out_finger += current;
addr += current;
len -= current;
- if (rstrm->out_finger == rstrm->out_boundry)
+ if (rstrm->out_finger == rstrm->out_boundry && len > 0)
{
rstrm->frag_sent = TRUE;
if (!flush_out (rstrm, FALSE))
@@ -465,8 +464,7 @@ xdrrec_putint32 (XDR *xdrs, const int32_t *ip)
* this procedure to guarantee proper record alignment.
*/
bool_t
-xdrrec_skiprecord (xdrs)
- XDR *xdrs;
+xdrrec_skiprecord (XDR *xdrs)
{
RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
@@ -488,8 +486,7 @@ xdrrec_skiprecord (xdrs)
* after consuming the rest of the current record.
*/
bool_t
-xdrrec_eof (xdrs)
- XDR *xdrs;
+xdrrec_eof (XDR *xdrs)
{
RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
@@ -513,9 +510,7 @@ xdrrec_eof (xdrs)
* pipelined procedure calls.) TRUE => immediate flush to tcp connection.
*/
bool_t
-xdrrec_endofrecord (xdrs, sendnow)
- XDR *xdrs;
- bool_t sendnow;
+xdrrec_endofrecord (XDR *xdrs, bool_t sendnow)
{
RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
u_long len; /* fragment length */