Current-Users archive

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

Re: using "(void)" casts to purposefully ignore return values



On Thu, Aug 25, 2011 at 07:22:07AM +0000, David Holland wrote:
> 
> And again, if you pass the same strings to strcat, demons fly out of
> your nose. None of the string functions are meant to accept invalid
> input;

No arugment there - but there is some belief that strl* magically make
it ok and that you cannot, ever, screw up.  What I am saying is that
attitude is wrong.  At least strlcat will tell you that you have
something wrong if the return value is checked, and that is the crux of
my objection, why I spoke up in the first place - it is not always ok to
ignore the returns from strl* because this may rise up and bit you by
producing a string that is not nul terminated.

> I don't see why the man page even bothers to define what
> happens in this case. Arguably, it shouldn't.
> 

No, it is properly documenting the interface. Plenty of our man pages
have something along the lines of "passing this function crap will lead
to undefined results".  The disturbing part for me is that people choose
to ignore this nugget of information.

-- 
Brett Lymn
"Warning:
The information contained in this email and any attached files is
confidential to BAE Systems Australia. If you are not the intended
recipient, any use, disclosure or copying of this email or any
attachments is expressly prohibited.  If you have received this email
in error, please notify us immediately. VIRUS: Every care has been
taken to ensure this email and its attachments are virus free,
however, any loss or damage incurred in using this email is not the
sender's responsibility.  It is your responsibility to ensure virus
checks are completed before installing any data sent in this email to
your computer."




Home | Main Index | Thread Index | Old Index