X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sources%2FFullRead.c;fp=sources%2FFullRead.c;h=0000000000000000000000000000000000000000;hp=b7be61f43d83e9c6c90c133b1917e6dce0c53183;hb=d12bc3e1e4b3ee762036d1c226c3b2ba1a720fb9;hpb=e3e15ed6d698e5cc35f3b7f4c5db96adc38255c3 diff --git a/sources/FullRead.c b/sources/FullRead.c deleted file mode 100644 index b7be61f..0000000 --- a/sources/FullRead.c +++ /dev/null @@ -1,54 +0,0 @@ -/* FullRead.c - * - * Copyright (C) 2001 Simone Piccardi - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or (at - * your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ -/**************************************************************** - * - * Routine FullRead - * Routine to read an exact number of bytes from a socket - * - * Author: Simone Piccardi - * Jun. 2001 - * - * $Id: FullRead.c,v 1.1 2003/02/02 20:35:33 piccardi Exp $ - * - ****************************************************************/ -#include -#include - -ssize_t FullRead(int fd, void *buf, size_t count) -{ - size_t nleft; - ssize_t nread; - - nleft = count; - while (nleft > 0) { /* repeat until no left */ - if ( (nread = read(fd, buf, nleft)) < 0) { - if (errno == EINTR) { /* if interrupted by system call */ - continue; /* repeat the loop */ - } else { - return(nread); /* otherwise exit */ - } - } else if (nread == 0) { /* EOF */ - break; /* break loop here */ - } - nleft -= nread; /* set left to read */ - buf +=nread; /* set pointer */ - } - return (count - nleft); -} -