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: Daniel Borkmann <hidden>
Date: 2013-06-28 16:06:36
Also in: linux-sctp, lkml

On 06/28/2013 05:53 PM, 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 ...
Thanks Daniel, seems sensible.  Just trivial comments...
Ok, thanks.
quoted
[]
quoted
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
[]

Should any other include other than net/addrconf be needed?
Ah, you mean net/addrconf.h, ok got it. Hm, well, I've compiled and tested it, no
warning or error on my side.
I'm not sure I understand this question.
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,
and by that, we stay compatible in behaviour.
quoted
quoted
+    u8 off = 0;
+
+    fmt++;
+    while (isalpha(*++fmt)) {
+        switch (*fmt) {
+        case 'p':
+            have_p = true;
+            break;
+        case 'f':
+            have_f = true;
+            break;
+        case 's':
+            have_s = true;
+            break;
+        case 'c':
+            have_c = true;
+            break;
+        }
+    }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help