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>