Subject: Re: oh crap... (re: %p6)

From: Harvey Harrison <[email-masked]>
Date: Wed, 29 Oct 2008 11:21:19 -0700

On Wed, 2008-10-29 at 11:16 -0700, Joe Perches wrote:
> On Wed, 2008-10-29 at 10:24 -0700, Harvey Harrison wrote:
> > Putting a modifier after the format specifier seems a little strange to me.
> 
> Harvey, please remember the whole %p<foo> concept is based on
> modifier after format specifier.
> 
> I think %p6 followed by combinations of things:
> 
> "::" compressed v6, largest block of consecutive 0's replaced with ::
> "-:" no separating colons, use space instead
> "-0" no leading 0's
> ".4" last word as ipv4 dotted decimal
> "x1" u8 form
> "x2" be16
> "x4" be32
> "x8" be64
> 

Yes, but if you put anything but alphanumerics after the %p, make sure
you handle that in vsnprintf(), so it will be a bit more involved than
my simplistic ones were.

> So that you could have:
> 
> %p6::		1234:000a::c0a8:0101
> %p6::-0		1234:a::c0a8:0101
> %p6::-0.4	1234:a::192.168.1.1
> %p6-0-:x1	0 1 2 3 4 5 6 7 8 9 a b c d e f
> %p6x1		00:01:02:03:04:05:06:07:09:0a:0b:0c:0d:0e:0f
> 
> etc.  If acceptable, I'll submit a patch.
> 

I'll let Dave comment on whether this flexibility is desired.  Mine was
more an attempt to consolidate a very common (and simplisitic) usage.

Cheers,

Harvey