tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: swscanf() causing Memory Fault
Hubert Feyrer wrote:
>
> On Sun, 16 Nov 2008, James K. Lowden wrote:
> >> + (void)memset(WCIO_GET(&f), 0, sizeof(struct wchar_io_data));
> >
> > Why cast a discarded return code to void? That seems overly fussy to
> > me.
>
> We've been doing this since ~forever:
The tradition of discarding return codes is, I'm sure even older. ;-)
> It's to tell lint(1) that we're
> aware of the fact that menset() returns something, and that we ignore it
>
> on purpose.
Is it considered a feature of NetBSD's source code or a defect in lint(1)?
I dislike cluttering source that's perfectly clear (and safe) to the
human eye just to satisfy a tool. It's not NetBSD's fault that memset(3)
returns a useless pointer. (I can almost imagine passing memset's return
to, say, strcpy(3) back in the days when it returned a char*. Now that it
needs a cast, I think it's more likely to be discarded.)O
ISTM lint should have an ignore-discarded-return-codes option. Maybe
could be constricted to functions like memset that can't return an error.
Other solutions obviously include a macro or just use bzero instead.
Thanks for the answer anyway, Hubert. It looked both odd and deliberate,
and I appreciate knowing why.
--jkl
Home |
Main Index |
Thread Index |
Old Index