cvs commit: src/bin/cat
Matthew Dillon
dillon at apollo.backplane.com
Sun Nov 7 15:21:31 PST 2004
:
:Liam J. Foy wrote:
:> liamfoy 2004/11/04 13:31:37 PST
:>
:> DragonFly src repository
:>
:> Modified files:
:> bin/cat cat.c
:> Log:
:> - Remove unnecessary selection statement to see if buf == NULL.
:> - Don't use fileno to get stdout, just use STDOUT_FILENO
:> - Fix malloc err message
:>
:> OK'ed by: Joerg and Jeroen
:>
:> Revision Changes Path
:> 1.12 +8 -10 src/bin/cat/cat.c
:>
:>
:> http://www.dragonflybsd.org/cvsweb/src/bin/cat/cat.c.diff?r1=1.11&r2=1.12&f=u
:
:
:Removing the check for (buf == NULL):
:1. Introduces a memory leak -- equal to (bsize * (n - 1)) where n is the
:number of times raw_cat is called.
:2. Adds unecessary work -- stdout never changes
:
:
:Also, the constant 1024 in the buffer size check should be replaced by
:the posix constant BUFSIZ.
:
:- Jason
Whoops, quite right. I missed the fact that 'buf' was a static when
I review Liam's commit.
The original code isn't so good either. While I don't expect we
will be cat'ing multiple block devices I think it would probably still
be a good idea to fstat/resize the buffer on a per-descriptor basis.
The expensive is minimal.
I'll just go ahead and fix it. Don't worry about it, Liam.
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Commits
mailing list