Re: [PATCH 1/4] stringbuf: A string buffer implementation

Matthew Wilcox
2007-10-24T21:21:20Z

On Wed, Oct 24, 2007 at 04:59:48PM -0400, Kyle Moffett wrote:
> This seems unlikely to work reliably as the various "v*printf"
> functions modify the va_list argument they are passed. It may happen
> to work on your particular architecture depending on how that
> argument data is passed and stored, but you probably actually want to
> make a copy of the varargs list for the first vsnprintf call.

I based what I did on how printk works:

va_start(args, fmt);
r = vprintk(fmt, args);
va_end(args);

It doesn't call va_* anywhere else. I don't claim to be a varargs expert,
but if I'm wrong, I'm at least wrong the same way that printk is, so not
in any way that's significant for any other architecture Linux runs on.

--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."