coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [coreutils] [PATCH] split: fix reporting of read errors


From: Jim Meyering
Subject: Re: [coreutils] [PATCH] split: fix reporting of read errors
Date: Thu, 07 Oct 2010 14:38:48 +0200

Pádraig Brady wrote:
> Ok to push this for the imminent release?
> Subject: [PATCH] split: fix reporting of read errors
>
> The bug was introduced with commit 23f6d41f, 19-02-2003.
>
> * src/split.c (bytes_split, lines_split, line_bytes_split):
> Correctly check the return from full_read().
> * NEWS: Mention the fix.
...
> @@ -325,7 +325,7 @@ line_bytes_split (size_t n_bytes)
>        /* Fill up the full buffer size from the input file.  */
>
>        n_read = full_read (STDIN_FILENO, buf + n_buffered, n_bytes - 
> n_buffered);
> -      if (n_read == SAFE_READ_ERROR)
> +      if (n_read < (n_bytes - n_buffered) && errno)

Yes, thanks!
Good catch.  How did you find it?

However, I'd prefer to avoid parentheses like those in the final chunk,
as well as the duplicated expression -- there are too many n_-prefixed
names in the vicinity.  What do you think of this instead?

        size_t n =  n_bytes - n_buffered;
        n_read = full_read (STDIN_FILENO, buf + n_buffered, n);
        if (n_read < n && errno)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]