diff options
author | Damien Miller <djm@mindrot.org> | 1999-12-07 07:02:57 +0100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 1999-12-07 07:02:57 +0100 |
commit | a3c60900610165a88694c461119a146fbdaf9cc4 (patch) | |
tree | a0665d804291d062b78a8841f7a88b1235c4ed78 /atomicio.c | |
parent | undone silly changes (diff) | |
download | openssh-a3c60900610165a88694c461119a146fbdaf9cc4.tar.xz openssh-a3c60900610165a88694c461119a146fbdaf9cc4.zip |
Third time lucky
Diffstat (limited to 'atomicio.c')
-rw-r--r-- | atomicio.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/atomicio.c b/atomicio.c deleted file mode 100644 index 6c433e840..000000000 --- a/atomicio.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 1999 Theo de Raadt - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "includes.h" -RCSID("$Id: atomicio.c,v 1.5 1999/12/07 06:01:13 damien Exp $"); - -#include "xmalloc.h" -#include "ssh.h" - -/* - * ensure all of data on socket comes through. f==read || f==write - */ -int -atomicio(f, fd, s, n) - int (*f) (); - int fd; - void *s; - size_t n; -{ - int res, pos = 0; - - while (n > pos) { - res = (f) (fd, s + pos, n - pos); - switch (res) { - case -1: - if (errno == EINTR || errno == EAGAIN) - continue; - case 0: - return (res); - default: - pos += res; - } - } - return (pos); -} |