Re: [RFC Patch net-next 2/5] net: introduce generic inet_pton()
From: Sergei Shtylyov <hidden>
Date: 2013-06-27 22:30:14
Also in:
lkml
On 06/27/2013 06:18 PM, Sergei Shtylyov wrote:
quoted
Signed-off-by: Cong Wang <redacted> --- include/net/inet_addr.h | 20 ++++++++++++++++++++ net/core/netpoll.c | 24 ++---------------------- 2 files changed, 22 insertions(+), 22 deletions(-)
quoted
diff --git a/include/net/inet_addr.h b/include/net/inet_addr.h index 66a16fe..1379287 100644 --- a/include/net/inet_addr.h +++ b/include/net/inet_addr.h
[...]
quoted
@@ -59,4 +60,23 @@ static inline bool inet_addr_multicast(const unioninet_addr *ipa) } #endif +static inline int inet_pton(const char *str, union inet_addr *addr) +{ + const char *end; + + if (!strchr(str, ':') && + in4_pton(str, -1, (void *)addr, -1, &end) > 0) { + if (!*end) + return 0; + } + if (in6_pton(str, -1, addr->sin6.sin6_addr.s6_addr, -1, &end) > 0) { +#if IS_ENABLED(CONFIG_IPV6) + if (!*end)
How about:
if (IS_ENABLED(CONFIG_IPV6) && !*end)
quoted
+ return 1; +#else
Sorry, managed to miss #else... #if could be avoided anyway, tho
this could require an extra patch.
quoted
+ return -1; +#endif + } + return -1; +} #endif
WBR, Sergei