Thread (9 messages) 9 messages, 2 authors, 2013-06-28

Re: [PATCH net-next v3 1/2] lib: vsprintf: add IPv4/v6 generic %p[Ii]S[pfs] format specifier

From: Joe Perches <joe@perches.com>
Date: 2013-06-28 16:04:44
Also in: linux-sctp, lkml

On Fri, 2013-06-28 at 17:53 +0200, Daniel Borkmann wrote:
On 06/28/2013 05:44 PM, Joe Perches wrote:
quoted
On Fri, 2013-06-28 at 14:05 +0200, Daniel Borkmann wrote:
quoted
In order to avoid making code that deals with printing both, IPv4 and
IPv6 addresses, unnecessary complicated as for example ...
[]
quoted
Should any other include other than net/addrconf be needed?
I'm not sure I understand this question.
the #include <net/addrconf.h> indirectly
includes <linux/in.h> and <linux/in6.h>
but because this now uses struct sockaddr and family
it may be more sensible to directly include those.

No worries really, it works now.
quoted
quoted
+char *ip6_addr_string_sa(char *buf, char *end, const struct sockaddr_in6 *sa,
+			 struct printf_spec spec, const char *fmt)
+{
[]
quoted
+	char fmt6[2] = { fmt[0], '6'};
This looks odd to me.  why not use a bool compressed
flag and identify this before the isalpha loop and not
have fmt6 at all?
Well, we have a bool called 'have_c' that identifies if 'c' was specified. To have
the same behaviour as with %pI6, this is used to create a temporary fmt that we then
can pass to ip6_string(). If you look at ip6_addr_string(), it's done the same way,
It's a little different than that.
and by that, we stay compatible in behaviour.
That's slightly tricky, ip6_addr_string just needs "I" or "i"

But, your implementation, your choice,

cheers, Joe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help