diff options
Diffstat (limited to 'src/lib/krb5/os/net_write.c')
-rw-r--r-- | src/lib/krb5/os/net_write.c | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/src/lib/krb5/os/net_write.c b/src/lib/krb5/os/net_write.c index 35765fb38..d4bcc148f 100644 --- a/src/lib/krb5/os/net_write.c +++ b/src/lib/krb5/os/net_write.c @@ -1,3 +1,4 @@ +/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ /* * lib/krb5/os/net_write.c * @@ -8,7 +9,7 @@ * require a specific license from the United States Government. * It is the responsibility of any person or organization contemplating * export to obtain such a license before exporting. - * + * * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and * distribute this software and its documentation for any purpose and * without fee is hereby granted, provided that the above copyright @@ -22,7 +23,7 @@ * M.I.T. makes no representations about the suitability of * this software for any purpose. It is provided "as is" without express * or implied warranty. - * + * */ #include "k5-int.h" @@ -52,31 +53,31 @@ krb5int_net_writev(krb5_context context, int fd, sg_buf *sgp, int nsg) SOCKET_WRITEV_TEMP tmp; while (nsg > 0) { - /* Skip any empty data blocks. */ - if (SG_LEN(sgp) == 0) { - sgp++, nsg--; - continue; - } - cc = SOCKET_WRITEV((SOCKET)fd, sgp, nsg, tmp); - if (cc < 0) { - if (SOCKET_ERRNO == SOCKET_EINTR) - continue; + /* Skip any empty data blocks. */ + if (SG_LEN(sgp) == 0) { + sgp++, nsg--; + continue; + } + cc = SOCKET_WRITEV((SOCKET)fd, sgp, nsg, tmp); + if (cc < 0) { + if (SOCKET_ERRNO == SOCKET_EINTR) + continue; - /* XXX this interface sucks! */ - errno = SOCKET_ERRNO; - return -1; - } - len += cc; - while (cc > 0) { - if ((unsigned)cc < SG_LEN(sgp)) { - SG_ADVANCE(sgp, (unsigned)cc); - cc = 0; - } else { - cc -= SG_LEN(sgp); - sgp++, nsg--; - assert(nsg > 0 || cc == 0); - } - } + /* XXX this interface sucks! */ + errno = SOCKET_ERRNO; + return -1; + } + len += cc; + while (cc > 0) { + if ((unsigned)cc < SG_LEN(sgp)) { + SG_ADVANCE(sgp, (unsigned)cc); + cc = 0; + } else { + cc -= SG_LEN(sgp); + sgp++, nsg--; + assert(nsg > 0 || cc == 0); + } + } } return len; } |