summaryrefslogtreecommitdiff
path: root/lib/cmpbuf.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2006-01-05 07:08:23 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2006-01-05 07:08:23 +0000
commit91b8605708cf2d7c49679a46a80b4039167da2cd (patch)
tree6972aba10c298cc28c3511b03647ead2ddc42765 /lib/cmpbuf.c
parent174ab8396535806d77708990568f9817d11d5bb3 (diff)
downloaddiffutils-91b8605708cf2d7c49679a46a80b4039167da2cd.tar.gz
* src/cmp.c: Don't include <setmode.h>.
(specify_ignore_initial): Reword to avoid gcc -W warnings. (main): Use freopen instead of setmode, since freopen is in POSIX. * src/context.c: Revert most 2004-09-01 changes. Then: (TIMESPEC_NS): Remove. All uses replaced by get_stat_mtime_ns. Include stat-time.h, strftime.h. (nstrtime): Remove decl. * src/diff.c: Revert most 2004-09-01 changes. Then: Don't include <posixver.h>, <quotesys.h>, <setmode.h>. Include <sh-quote.h>, <stat-time.h>, <timespec.h>. All uses of quotesys replaced by sh-quote. (main, compare_files): Use freopen instead of setmode, since freopen is in POSIX. (main): Don't complain about "diff -NUM'. (main, set_mtime_to_now): Adjust to stat-time.h macros when accessing nanoseconds. * src/diff3.c: Include sh-quote.h rather than quotesys. All uses changed. * src/dir.c (dir_read): excluded_filename renamed to excluded_file_name. * src/io.c: Don't include <setmode.h>. (sip, read_files): Remove binary file stuff, leaving a FIXME behind. A DOS expert needs to look at this. * src/diff.c: Include sh-quote.h rather than quotesys.h. All uses changed. * src/system.h: Include verify.h. (verify): Remove. All uses changed to verify.h version. Include <intprops.h>. (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove. Now uses intprops.h versions. (O_BINARY): New defns, taken from coreutils. * src/util.c: Include sh-quote.h rather than quotesys.h. All uses changed.
Diffstat (limited to 'lib/cmpbuf.c')
-rw-r--r--lib/cmpbuf.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/cmpbuf.c b/lib/cmpbuf.c
index 858aa39..971d4ac 100644
--- a/lib/cmpbuf.c
+++ b/lib/cmpbuf.c
@@ -1,6 +1,7 @@
/* Buffer primitives for comparison operations.
- Copyright (C) 1993, 1995, 1998, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1995, 1998, 2001, 2002, 2006 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
@@ -85,11 +86,12 @@ block_read (int fd, char *buf, size_t nbytes)
{
char *bp = buf;
char const *buflim = buf + nbytes;
- size_t readlim = SSIZE_MAX;
+ size_t readlim = MIN (SSIZE_MAX, SIZE_MAX);
do
{
- size_t bytes_to_read = MIN (buflim - bp, readlim);
+ size_t bytes_remaining = buflim - bp;
+ size_t bytes_to_read = MIN (bytes_remaining, readlim);
ssize_t nread = read (fd, bp, bytes_to_read);
if (nread <= 0)
{