Source-Changes-D archive

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

Re: CVS commit: src/lib/libc



On Fri, Mar 02, 2012 at 12:10:26AM +0900, Izumi Tsutsui wrote:
> joerg@ wrote:
> 
> > On Thu, Mar 01, 2012 at 07:35:02PM +0900, Izumi Tsutsui wrote:
> > > yamt@ wrote:
> > > 
> > > > > Module Name:  src
> > > > > Committed By: dholland
> > > > > Date:         Fri Feb 24 16:06:39 UTC 2012
> > > > > 
> > > > > Modified Files:
> > > > >       src/lib/libc: shlib_version
> > > > > 
> > > > > Log Message:
> > > > > Note that gets() is finally dead in C11 and can be removed if we ever
> > > > > bump libc.
> > > > 
> > > > it doesn't sound good or realistic to me.
> > > 
> > > Indeed.  Can you please remove this entry?
> > > 
> > > Removing use of deprecated functions in NetBSD tree is the right thing,
> > > but it doesn't mean stopping C89/C99 support in NetBSD environment.
> > > Having __warn_references() for such functions is enough for users.
> > 
> > I disagree on this. gets(3) is actively harmful, so moving it into
> > libcompat sounds perfectly sane.
> 
> How can you support/control/update third party products
> not to use deprecated functions?
> 
> Are you claiming NetBSD should ignore such silly applications,
> while you are also blaming ISO C11 *_s functions suck? ;-p
> 
> In libc implementaion, we should consider support of STANDARD
> (including compat support) first, before individual design issue.

Code that is using gets(3) is almost always broken. It doesn't just
suck, it is plainly broken. There are a bunch of other functions that
have been removed by POSIX2008 like index(3), which are a bit harder to
argue about. There is still code using them and they are not broken, so
moving them out of the normal namespace into a legacy namespace
and only providing the prototypes (with __RENAME) if actively requested
is fine. But there is basically no legitamate reason for using gets(3).

Joerg


Home | Main Index | Thread Index | Old Index