X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ffull-write.c;h=2a65ac5e528020db63f927dbc7f0b60257f0a80b;hb=69d778f260410d7586953f15e9903cbf41a8a157;hp=3fca56b0e303c95380ffc7858f6c3bfb854683d6;hpb=7f291f45e82dc8b2cbee5893188e474a4448c945;p=gnulib.git diff --git a/lib/full-write.c b/lib/full-write.c index 3fca56b0e..2a65ac5e5 100644 --- a/lib/full-write.c +++ b/lib/full-write.c @@ -1,5 +1,5 @@ -/* safe-write.c -- an interface to write that retries after interrupts - Copyright (C) 1993 Free Software Foundation, Inc. +/* full-write.c -- an interface to write that retries after interrupts + Copyright (C) 1993, 1994 Free Software Foundation, Inc. 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 @@ -19,14 +19,7 @@ */ #ifdef HAVE_CONFIG_H -#if defined (CONFIG_BROKETS) -/* We use instead of "config.h" so that a compilation - using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h - (which it would do because it found this file in $srcdir). */ #include -#else -#include "config.h" -#endif #endif #include @@ -36,19 +29,22 @@ #endif #include -#ifndef STDC_HEADERS +#ifndef errno extern int errno; #endif /* Write LEN bytes at PTR to descriptor DESC, retrying if interrupted. - Return zero upon success, write's (negative) error code otherwise. */ + Return LEN upon success, write's (negative) error code otherwise. */ int -safe_write (desc, ptr, len) +full_write (desc, ptr, len) int desc; char *ptr; - int len; + size_t len; { + int total_written; + + total_written = 0; while (len > 0) { int written = write (desc, ptr, len); @@ -60,8 +56,9 @@ safe_write (desc, ptr, len) #endif return written; } + total_written += written; ptr += written; len -= written; } - return 0; + return total_written; }