Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jul 2002 18:20:04 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        Dag-Erling Smorgrav <des@ofug.org>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/bin/chmod chmod.c 
Message-ID:  <20020711012004.34C23380A@overcee.wemm.org>
In-Reply-To: <200207110030.g6B0UdAm076672@apollo.backplane.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Dillon wrote:
> :
> :Matthew Dillon wrote:
> :
> :>     I suppose the minimal fix is to remove __printf0like from err(),
> :>     errx(), and warn() in /usr/src/include/err.h.  So that is what I will
> :>     do if this problem isn't fixed in the tree by 9:00 p.m. PDT tonight.
> :
> :No, the correct minimal fix is to stub out the attributes, that's why
> :we have fine granularity on them!  eg:
> 
>     You want to disable the attribute globally?  The only problem with it
>     is with three functions that pass NULL.

Well, that's what __printf0__ is for.. Ie: the same as __printf__ but it
is supposed to accept a NULL.  If it isn't working for those 3 functions,
then it wont work elsewhere either.  If __printf0__ isn't working, then
we should switch it off (since we can).

The only real users of this are err/warn/etc and setproctitle() (which
also allows a NULL argument).  If other code in the tree tries to use
__printf0like() itself, it would suffer the same problems, so we would
be doing ourselves a favor there too.

I'm amused that this only seems to happen on some platforms, while
the entire warning is missing from others.

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020711012004.34C23380A>