[libvirt] [PATCHv2 2/8] util: fix saferead type
Daniel P. Berrange
berrange at redhat.com
Thu Dec 2 13:58:22 UTC 2010
On Tue, Nov 23, 2010 at 04:49:55PM -0700, Eric Blake wrote:
> * src/util/util.c (saferead): Fix return type.
> (safewrite): Fix indentation.
> ---
>
> v2: new patch. Not really essential to the series, so much as a
> trivial cleanup I noticed while in the area.
>
> src/util/util.c | 64 ++++++++++++++++++++++++++++--------------------------
> src/util/util.h | 2 +-
> 2 files changed, 34 insertions(+), 32 deletions(-)
>
> diff --git a/src/util/util.c b/src/util/util.c
> index 3a27c23..f6050de 100644
> --- a/src/util/util.c
> +++ b/src/util/util.c
> @@ -88,42 +88,44 @@ verify(sizeof(gid_t) <= sizeof (unsigned int) &&
> __FUNCTION__, __LINE__, __VA_ARGS__)
>
> /* Like read(), but restarts after EINTR */
> -int saferead(int fd, void *buf, size_t count)
> -{
> - size_t nread = 0;
> - while (count > 0) {
> - ssize_t r = read(fd, buf, count);
> - if (r < 0 && errno == EINTR)
> - continue;
> - if (r < 0)
> - return r;
> - if (r == 0)
> - return nread;
> - buf = (char *)buf + r;
> - count -= r;
> - nread += r;
> - }
> - return nread;
> +ssize_t
> +saferead(int fd, void *buf, size_t count)
> +{
> + size_t nread = 0;
> + while (count > 0) {
> + ssize_t r = read(fd, buf, count);
> + if (r < 0 && errno == EINTR)
> + continue;
> + if (r < 0)
> + return r;
> + if (r == 0)
> + return nread;
> + buf = (char *)buf + r;
> + count -= r;
> + nread += r;
> + }
> + return nread;
> }
>
> /* Like write(), but restarts after EINTR */
> -ssize_t safewrite(int fd, const void *buf, size_t count)
> -{
> - size_t nwritten = 0;
> - while (count > 0) {
> - ssize_t r = write(fd, buf, count);
> -
> - if (r < 0 && errno == EINTR)
> - continue;
> - if (r < 0)
> - return r;
> - if (r == 0)
> - return nwritten;
> - buf = (const char *)buf + r;
> - count -= r;
> - nwritten += r;
> - }
> - return nwritten;
> +ssize_t
> +safewrite(int fd, const void *buf, size_t count)
> +{
> + size_t nwritten = 0;
> + while (count > 0) {
> + ssize_t r = write(fd, buf, count);
> +
> + if (r < 0 && errno == EINTR)
> + continue;
> + if (r < 0)
> + return r;
> + if (r == 0)
> + return nwritten;
> + buf = (const char *)buf + r;
> + count -= r;
> + nwritten += r;
> + }
> + return nwritten;
> }
>
> #ifdef HAVE_POSIX_FALLOCATE
> diff --git a/src/util/util.h b/src/util/util.h
> index edbf01e..deaf8bb 100644
> --- a/src/util/util.h
> +++ b/src/util/util.h
> @@ -37,7 +37,7 @@
> # define MIN(a, b) ((a) < (b) ? (a) : (b))
> # endif
>
> -int saferead(int fd, void *buf, size_t count) ATTRIBUTE_RETURN_CHECK;
> +ssize_t saferead(int fd, void *buf, size_t count) ATTRIBUTE_RETURN_CHECK;
> ssize_t safewrite(int fd, const void *buf, size_t count)
> ATTRIBUTE_RETURN_CHECK;
> int safezero(int fd, int flags, off_t offset, off_t len)
ACK
Daniel
More information about the libvir-list
mailing list