Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jan 2005 09:10:47 +1100
From:      Tim Robbins <tjr@freebsd.org>
To:        Scot Hetzel <swhetzel@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: uniq truncates lines > 2048 bytes
Message-ID:  <20050125221047.GA339@cat.robbins.dropbear.id.au>
In-Reply-To: <790a9fff05012509511b64e3ad@mail.gmail.com>
References:  <790a9fff05012509511b64e3ad@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 25, 2005 at 11:51:51AM -0600, Scot Hetzel wrote:
> I noticed that if a file has lines > 2048 bytes, uniq will truncate
> the line to LINE_MAX (2048 bytes). An easy way to test this is to do
> the following:
> 
> cd /usr/ports/accessibility/gnomemag
> make fetch-list > test.list
> make fetch-list >> test.list
> uniq test.list > test2.list
> 
> test2.list should be half the size of test.list, but it is 2048 bytes.
> 
> I have come up with a patch to uniq that fixes this problem.
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=76578

This looks good except for failure to check for realloc() returning NULL
and a few minor style problems. It may be possible to use fgetwln()
to read lines instead of getwc() + realloc() etc., but this function is
new and peculiar to FreeBSD.

I was planning on going through all text-processing utilities in the base
system some time and either fixing line length problems or documenting them,
similar to what I did with multibyte character support. I may make a start
at that today.


Tim



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