[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fix misalignment
From: |
Jim Meyering |
Subject: |
Re: Fix misalignment |
Date: |
Mon, 23 Jul 2007 15:58:31 +0200 |
Andreas Schwab <address@hidden> wrote:
> 2007-07-23 Andreas Schwab <address@hidden>
>
> * src/sort.c (fillbuf): Make sure the buffer limit is always
> aligned after the buffer was grown.
>
> diff --git a/src/sort.c b/src/sort.c
> index 824dd0d..6024be7 100644
> --- a/src/sort.c
> +++ b/src/sort.c
> @@ -1492,6 +1492,8 @@ fillbuf (struct buffer *buf, FILE *fp, char const *file)
> /* The current input line is too long to fit in the buffer.
> Double the buffer size and try again. */
> buf->buf = X2REALLOC (buf->buf, &buf->alloc);
> + /* Realign buffer limit. */
> + buf->alloc -= buf->alloc % sizeof (struct line);
> }
> }
Thanks!
Can you provide a test case to exercise that code?
That would save me the time to cook one up.
Also, it'd be nice to have code to ensure that the new (decreased)
buf->alloc value is still larger than the original, pre-X2REALLOC one.
I was surprised to see that the affected code is not
used even once in the process of "make check" tests.
That's another strong argument to require a test case.
- Fix misalignment, Andreas Schwab, 2007/07/23
- Re: Fix misalignment,
Jim Meyering <=
Re: Fix misalignment, Paul Eggert, 2007/07/23