PERFORCE change 123550 for review

M. Warner Losh imp at bsdimp.com
Sun Jul 15 21:07:07 UTC 2007


In message: <200707152008.l6FK8Nr8028280 at repoman.freebsd.org>
            Garrett Cooper <gcooper at freebsd.org> writes:
: http://perforce.freebsd.org/chv.cgi?CH=123550
: 
: Change 123550 by gcooper at 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


More information about the p4-projects mailing list