Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Jul 2007 15:06:29 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        gcooper@freebsd.org
Cc:        perforce@freebsd.org
Subject:   Re: PERFORCE change 123550 for review
Message-ID:  <20070715.150629.-457441111.imp@bsdimp.com>
In-Reply-To: <200707152008.l6FK8Nr8028280@repoman.freebsd.org>
References:  <200707152008.l6FK8Nr8028280@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200707152008.l6FK8Nr8028280@repoman.freebsd.org>
            Garrett Cooper <gcooper@freebsd.org> writes:
: http://perforce.freebsd.org/chv.cgi?CH=123550
: 
: Change 123550 by gcooper@optimus-revised_pkgtools on 2007/07/15 20:07:45
: 
: 	Quite simply, works with read, but not fread. Or maybe it's just me :)?
: 
: Affected files ...
: 
: .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/file.c#4 edit
: 
: Differences ...
: 
: ==== //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/file.c#4 (text+ko) ====
: 
: @@ -223,7 +223,7 @@
:  
:      contents = (char *)malloc(sb.st_size + 1);
:  
: -    if ((int) fread(contents, sb.st_size, 1, fd) == FAIL) {
: +    if (read(fileno(fd), contents, sb.st_size) == FAIL) {
:  	cleanup(0);
:  	errx(2, "%s: short read on '%s' - did not get %lld bytes", __func__,
:  	     fname, (long long)sb.st_size);


     The functions fread() and fwrite() advance the file position indicator
     for the stream by the number of bytes read or written.  They return the
     number of objects read or written.  If an error occurs, or the end-of-
     file is reached, the return value is a short object count (or zero).

vs

     If successful, the number of bytes actually read is returned.  Upon read-
     ing end-of-file, zero is returned.  Otherwise, a -1 is returned and the
     global variable errno is set to indicate the error.

/me guesses FAIL is defined to be -1...

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070715.150629.-457441111.imp>