Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Linus Torvalds <torvalds <at> linux-foundation.org>
Subject: Re: [PATCH][RFC] vsprintf: unify the format decoding layer for its 3 users
Newsgroups: gmane.linux.kernel
Date: Saturday 28th February 2009 00:39:37 UTC (over 7 years ago)
On Fri, 27 Feb 2009, Frederic Weisbecker wrote:
> 
> Ok, here is a try, I've mostly unified the format decoding bits.
> Most interesting other helpers were already implemented (pointer(),
> string() and number()

Ok, I don't think this is beautiful, but neither was the original code, 
so..

However, in order to make it at least a _bit_ more palatable, could we 
please agree to at least clean up this:

> +static int format_decode(const char *fmt, enum format_type *type, int
*flags,
> +			  int *field_width, int *base, int *precision,
> +			  int *qualifier)

To

	struct printf_spec {
		enum format_type type;
		int flags, field_width, base, precision, qualifier;
	};

and then pass things around like

	static int format_decode(const char *fmt, struct printf_spec *spec)
	{
	..

instead? Wouldn't that be nicer? I suspect it would make the code look 
nicer too (instead of doing "*base = x", you'd see "spec->base = x" and it 
would look less like line noise in the callee, an the caller could just 
do a single "struct format_spec spec = { 0, }" to initialize that thing).

		Linus
 
CD: 18ms