From: Ingo Molnar Date: Mon, 22 Jun 2009 15:34:31 GMT Subject: Re: [PATCH] tools: fread does not return negative on error Message-ID: <20090622153431.GA18466@elte.hu> In-Reply-To: <4A3FB09D.9050903@gmail.com> * Roel Kluin wrote: > size_t res cannot be less than 0. fread returns 0 on error. > > Signed-off-by: Roel Kluin > --- > Is this correct? please review. > > diff --git a/tools/perf/util/strbuf.c b/tools/perf/util/strbuf.c > index eaba093..376a337 100644 > --- a/tools/perf/util/strbuf.c > +++ b/tools/perf/util/strbuf.c > @@ -259,7 +259,7 @@ size_t strbuf_fread(struct strbuf *sb, size_t size, FILE *f) > res = fread(sb->buf + sb->len, 1, size, f); > if (res > 0) > strbuf_setlen(sb, sb->len + res); > - else if (res < 0 && oldalloc == 0) > + else if (res == 0 && oldalloc == 0) > strbuf_release(sb); > return res; This comes straight from Git's strbuf.c so i've Cc:-ed the Git list. Roel, did you get some compiler warning that made you look at this code? Ingo