Subject: Re: CVS commit: gnusrc/gnu/libexec/uucp
To: Christos Zoulas <christos@zoulas.com>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: source-changes
Date: 05/30/2002 11:41:37
On Thu, May 30, 2002 at 06:02:14PM +0000, Christos Zoulas wrote:
> Well, I've been watching this format-zero-length thingy for a while,
> and it occured to me that we are going the wrong way about this.
>
> It really should not be a compiler flag, but an attribute. What
> happens if you turn -Wno-format-zero-length on, and then you
> have a function that does not allow zero format and you want to
> check it?
>
> I suggest something:
>
> __attribute__((__format__(__printf__,m,n[,
> __nullformat__[,__emptyformat__]])));
>
> to show that a function allows null and/or empty format strings.
I'll take this up with the GCC folks. I expect to get pushback on it.
I'd also have to think about how it might be implemented.
Note I implemented the "__nullformat__" thing in gcc-current .. it's generic
null argument checking ... you specify that an argument is to be non-null
like:
void my_memcpy(void *dst, const void *src, size_t len)
__attribute__((__nonnull__(1,2)));
..and the printf, etc. built-ins have nonnull attributes chained to the
format attributes.
--
-- Jason R. Thorpe <thorpej@wasabisystems.com>